Pytorch的安装

Pytorch的安装

  • Pytorch的安装
    • 查看显卡信息
    • CUDA兼容性
    • 安装说明
    • 开始安装
    • 常见异常
    • 安装CUDA

Pytorch的安装

PyTorch的安装绝对是一个不是那么简单的过程,或多或少总是会出现一些奇奇怪怪的问题,这里分享记录一下PyTorch的安装心得。

查看显卡信息

没用显卡的直接跳过,然后通过在cmd命令行中输入nvidia-smi(Linux和Win命令一样)、使用NVIDIA控制面板和使用任务管理器查看机器是否有NVIDIA的独立显卡及其型号

root@master:/code # nvidia-smi
Fri Dec  8 03:09:45 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.57.02    Driver Version: 470.57.02    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla V100S-PCI...  Off  | 00000000:8B:00.0 Off |                    0 |
| N/A   35C    P0    27W / 250W |      0MiB / 32510MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

CUDA兼容性

参考:CUDA兼容性

NVIDIA CUDA工具包使开发人员能够为台式计算机、企业和数据中心乃至超大规模企业构建 NVIDIA GPU 加速的计算应用程序。它由 CUDA 编译器工具链组成,其中包括 CUDA 运行时 (cudart) 以及各种 CUDA 库和工具。要构建应用程序,开发人员只需安装 CUDA 工具包和链接所需的必要库。

为了运行 CUDA 应用程序,系统应具有支持 CUDA 的 GPU 和与用于构建应用程序本身的 CUDA 工具包兼容的 NVIDIA 显示驱动程序。如果应用程序依赖于库的动态链接,那么系统也应该具有此类库的正确版本。

CUDA 的组件:
在这里插入图片描述

CUDA软件主要包括三部分:

CUDA Toolkit : 库文件、运行环境 和 开发工具, 主要是面向开发者 CUDA编译环境

CUDA Driver: 用户驱动组建,用于运行 CUDA 程序,可以理解为 CUDA运行环境

Nvidia GPU 驱动 : 显卡核心驱动,就是 硬件驱动

CUDA版本与驱动版本关系如下:

参考:CUDA发布说明

CUDA ToolkitLinux x86_64 Driver VersionWindows x86_64 Driver Version
CUDA 12.3 Update 1>=545.23.08>=546.12
CUDA 12.3 GA>=545.23.06>=545.84
CUDA 12.2 Update 2>=535.104.05>=537.13
CUDA 12.2 Update 1>=535.86.09>=536.67
CUDA 12.2 GA>=535.54.03>=536.25
CUDA 12.1 Update 1>=530.30.02>=531.14
CUDA 12.1 GA>=530.30.02>=531.14
CUDA 12.0 Update 1>=525.85.12>=528.33
CUDA 12.0 GA>=525.60.13>=527.41
CUDA 11.8 GA>=520.61.05>=520.06
CUDA 11.7 Update 1>=515.48.07>=516.31
CUDA 11.7 GA>=515.43.04>=516.01
CUDA 11.6 Update 2>=510.47.03>=511.65
CUDA 11.6 Update 1>=510.47.03>=511.65
CUDA 11.6 GA>=510.39.01>=511.23
CUDA 11.5 Update 2>=495.29.05>=496.13
CUDA 11.5 Update 1>=495.29.05>=496.13
CUDA 11.5 GA>=495.29.05>=496.04
CUDA 11.4 Update 4>=470.82.01>=472.50
CUDA 11.4 Update 3>=470.82.01>=472.50
CUDA 11.4 Update 2>=470.57.02>=471.41
CUDA 11.4 Update 1>=470.57.02>=471.41
CUDA 11.4.0 GA>=470.42.01>=471.11
CUDA 11.3.1 Update 1>=465.19.01>=465.89
CUDA 11.3.0 GA>=465.19.01>=465.89
CUDA 11.2.2 Update 2>=460.32.03>=461.33
CUDA 11.2.1 Update 1>=460.32.03>=461.09
CUDA 11.2.0 GA>=460.27.03>=460.82
CUDA 11.1.1 Update 1>=455.32>=456.81
CUDA 11.1 GA>=455.23>=456.38
CUDA 11.0.3 Update 1>= 450.51.06>= 451.82
CUDA 11.0.2 GA>= 450.51.05>= 451.48
CUDA 11.0.1 RC>= 450.36.06>= 451.22
CUDA 10.2.89>= 440.33>= 441.22
CUDA 10.1 (10.1.105 general release, and updates)>= 418.39>= 418.96
CUDA 10.0.130>= 410.48>= 411.31
CUDA 9.2 (9.2.148 Update 1)>= 396.37>= 398.26
CUDA 9.2 (9.2.88)>= 396.26>= 397.44
CUDA 9.1 (9.1.85)>= 390.46>= 391.29
CUDA 9.0 (9.0.76)>= 384.81>= 385.54
CUDA 8.0 (8.0.61 GA2)>= 375.26>= 376.51
CUDA 8.0 (8.0.44)>= 367.48>= 369.30
CUDA 7.5 (7.5.16)>= 352.31>= 353.66
CUDA 7.0 (7.0.28)>= 346.46>= 347.62

一定要保证PyTorch与cuda toolkit的版本适配,参考:PyTorch版本要求

总结概括:Nvidia GPU驱动必须大于CUDA Toolkit要求的Nvida GPU驱动版本,或者PyTorch版本要求的CUDA版本对应驱动与Nvidia GPU驱动符合匹配要求

安装说明

访问PyTorch官网

可以选择本地开始(Start Locally),云开发(Cloud Partners),以前的Pytorch版本(Previous PyTorch Versions),移动端开发(Mobile),在此处选择本地安装

在这里插入图片描述
Windows下使用PIP方式安装,计算平台使用CPU,安装方式如下:

pip3 install torch torchvision torchaudio

在这里插入图片描述
Windows下使用conda方式安装,计算平台使用cuda,安装方式如下:

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

在这里插入图片描述
更多安装方式参考:https://pytorch.org/get-started/locally/

注意:

Stable代表的是稳定版本,Preview代表的是先行版本

结合电脑是否有显卡,选择CPU版本还是CUDA版本,CUDA版本需要拥有独显且是NVIDIA的GPU

一定要保持PyTorch和cudatoolkit的版本适配

开始安装

在上面使用nvidia-smi命令查看显卡信息,得出驱动程序版本是470.57.02,显卡驱动支持的CUDA版本是11.4,参考上面CUDA版本与GPU驱动程序版之间的关系列表,得出:

 1.若使用当前机器上GPU驱动,不升级,则只能从PyTorch官网查询与当前GPU所使用的CUDA相匹配的PyTorch版本

 2.若想使用较新版本的PyTorch,其使用的CUDA版本以及要求的GPU驱动版本必定较高,此时需要升级机器是的GPU驱动

 3.一定保证PyTorch版本要求使用的CUDA版本对应的驱动与GPU驱动版本相匹配

这里没有PyTorch版本特殊要求,使用最便捷的方式,不对当前GPU驱动进行升级,访问PyTorch版本记录查询匹配的PyTorch版本进行安装。

因为该机器可以支持最高CUDA版本为11.4,且官方版本记录中没有找到CUDA11.4的支持,驱动可以向下兼容,所以小于等于11.4的CUDA版本理论来说都可以安装,这里选择CUDA 11.3

具体安装命令如下:

# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

注意:

根据自身网络情况调整下载地址

# 从官网下载
-c pytorch

# 单独指定一个镜像下载
–c 镜像地址

检验是否安装成功

import torch

if __name__ == '__main__':
    if torch.cuda.is_available():
        print("GPU是否可用:", torch.cuda.is_available())  # 查看GPU是否可用
        print("GPU数量:", torch.cuda.device_count())  # 查看GPU数量
        print("torch方法查看CUDA版本:", torch.version.cuda)  # torch方法查看CUDA版本
        print("GPU索引号:", torch.cuda.current_device())  # 查看GPU索引号
        print("GPU名称:", torch.cuda.get_device_name(0))  # 根据索引号得到GPU名称
    else:
        print("GPU不可用")

常见异常

各种相关依赖、库文件安装完毕后,准备启动项目,出现异常:

CUDA initialization: The NVIDIA driver on your system is too old (found version 11040). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver. (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:108.)

原因:

系统上的NVIDIA驱动程序版本过旧,或者说NVIDIA驱动程序和CUDA驱动程序与所安装的PyTorch版本存在兼容性

解决办法:

1.下载并安装新版本的GPU驱动程序:http://www.nvidia.com/Download/index.aspx

2.安装一个与CUDA 驱动程序版本兼容的PyTorch版本:https://pytorch.org

在更新了驱动程序或安装了兼容的 PyTorch 版本后,这个问题应该会得到解决。

安装CUDA

NVIDIA GPU驱动程序已经包含了基本的CUDA支持,但安装额外的CUDA工具包可以提供更多功能和开发工具,能够更好地编写、调试和优化CUDA程序。这取决于具体需求和开发环境。

访问https://developer.nvidia.com/cuda-downloads下载对应版本的CUDA
在这里插入图片描述
选择需要的版本进行下载
在这里插入图片描述
默认情况下是自动添加到环境变量中,变量名:CUDA_PATH 变量值:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

验证查看CUDA的版本信息

C:\Users\Admin>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/242605.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat部署Activiti官方 流程设计器【数据库更换为Mysql !!!】

一、官网下载activiti6 解压后结构如下: database: 存放数据库对象相关脚本,包含不同的数据库脚本 libs: 包含activiti开发过程中需要用到的jar包和源码,不建议通过jar包直接引用,建议通过maven进行管理 wars&am…

模块一——双指针:202.快乐数

文章目录 题目描述简单证明补充知识算法原理代码实现 题目描述 题目链接:202.快乐数 为了方便叙述,将对于⼀个正整数,每⼀次将该数替换为它每个位置上的数字的平方和这⼀个操作记为x操作; 题目告诉我们,当我们不断重…

RHEL8_Linux使用podman管理容器

本章主要介绍使用 podman 管理容器 了解什么是容器,容器和镜像的关系安装和配置podman拉取和删除镜像给镜像打标签导出和导入镜像创建和删除镜像 1.了解容器及和镜像的关系 对于初学者来说,不太容易理解什么是容器,这里举一个例子。想象一下…

Leetcode69 x的平方根

x的平方根 题解1 袖珍计算器算法题解2 二分查找题解3 牛顿迭代 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符&…

KubeKey 离线部署 KubeSphere v3.4.1 和 K8s v1.26 实战指南

作者:运维有术 前言 知识点 定级:入门级了解清单 (manifest) 和制品 (artifact) 的概念掌握 manifest 清单的编写方法根据 manifest 清单制作 artifactKubeKey 离线集群配置文件编写KubeKey 离线部署 HarborKubeKey 离线部署 KubeSphere 和 K8sKubeKey…

DBSCAN聚类算法学习笔记

DBSCAN聚类算法学习笔记 一些概念名词 MinPts:聚类在一起的点的最小数目,超过这一阈值才算是一个族群 核心点:邻域内数据点超过MinPts的点 边界点:落在核心点邻域内的点称为边界点 噪声点:既不是核心点也不是边界点的…

【Spring】01 Bean 介绍

文章目录 1. 定义2. 特性1)可重用性2)可配置性3)可管理性 3. 生命周期1)实例化2)属性设置3)初始化4)使用5)销毁 4. 配置方式1)XML配置2)注解配置3&#xff09…

docker-compose Install gitea

gitea 前言 Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来…

【揭秘】企业自建社群商城:小程序自主经营的成功秘诀!

在当今这个数字化的时代,社群电商已经成为了商业领域的一个重要趋势。社群电商是指通过社交媒体平台,将具有共同兴趣、需求或价值观的人们聚集在一起,形成一个社群,然后通过提供产品或服务来满足这些人的需求。这种商业模式不仅可…

脚本测试postman快速导出python接口测试过程示例

Postman的脚本可以导出多种语言的脚本,方便二次维护开发。 Python的requests库,支持python2和python3,用于发送http/https请求 使用unittest进行接口自动化测试 01、环境准备 1、安装python(使用python2或3都可以)…

自学编程推荐一个容易学的中文编程工具,构件箱之单选框组简介

一、前言: 零基础自学编程,中文编程工具下载,中文编程工具构件之扩展系统菜单构件教程 编程系统化教程链接https://jywxz.blog.csdn.net/article/details/134073098?spm1001.2014.3001.5502 给大家分享一款中文编程工具,零基础轻…

dialog 在xml文件进行了自适应宽,但是失效了

如下图 讲述了为什么已经设置好了dialog的宽高 到了显示的时候就会失效的原因 解决方式 : 在自定的dialog中的onstart()方法中进行重新设置宽高 Window window getWindow();WindowManager.LayoutParams lp window.getAttributes();lp.height LinearLayout.La…

springboot使用EasyExcel导入数据

springboot使用EasyExcel导入数据 1. 引入依赖 <!-- Easy Excel --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version> </dependency>2. 建立对应实体类 假如…

Visual Studio使用Web Deploy发布.NET Web应用到指定服务器的IIS中

前言 今天要讲的是在Window 2008 R2版本的服务器下如何配置Web Deploy&#xff0c;和Visual Studio使用Web Deploy发布.NET Web应用到指定服务器的IIS中。 因为历史原因项目只能使用这个版本的服务器&#xff0c;当然使用其他服务器版本配置流程也是一样的。 Web Deploy介绍 …

Oracle数据库对SAP的支持

其实有时候&#xff0c;很多信息都已经整理好了&#xff0c;你只需要知道他在哪里就好&#xff0c;无需自己整理。 Oracle数据库对SAP的支持&#xff0c;可以从这个网页快速了解。 看前面的概述&#xff1a; Oracle 数据库是全球 SAP 客户中排名第一的数据库&#xff0c;拥有…

插入算法(C语言)

#include<cstdio> #include<iostream> #define N 9 using namespace std; int main() {int arr[N1] { 1,4,7,13,16,19,22,25,280 }; int in,i,j;//要插入的数字//打印要插入数字的数组所有元素printf("插入前的数组: ");for ( i 0; i <N; i){print…

设计模式——单例模式(创建型)

引言 单例模式是一种创建型设计模式&#xff0c; 让你能够保证一个类只有一个实例&#xff0c; 并提供一个访问该实例的全局节点。 问题 单例模式同时解决了两个问题&#xff0c; 所以违反了单一职责原则&#xff1a; 保证一个类只有一个实例。 为什么会有人想要控制一个类所…

回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 (多指标,多图)

回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 &#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 &#xff08;多指标&#xff0c;多图&#xff09;效果…

YOLOv8改进 | 2023主干篇 | EfficientViT替换Backbone(高效的视觉变换网络)

一、本文介绍 本文给大家带来的改进机制是EfficientViT&#xff08;高效的视觉变换网络&#xff09;&#xff0c;EfficientViT的核心是一种轻量级的多尺度线性注意力模块&#xff0c;能够在只使用硬件高效操作的情况下实现全局感受野和多尺度学习。本文带来是2023年的最新版本…

是谁,在参与数十亿美元的量子市场?

量子技术是最不为人们所了解、但却最有希望在未来几年颠覆商业和产业的进步技术之一。 很少有像量子信息科学市场这样小的市场能引起如此热烈的讨论。上周&#xff0c;根据Hyperion Research在圣克拉拉举行的Q2B硅谷会议上发布的年度量子计算&#xff08;QC&#xff09;市场更新…