PyTorch-GPU 安装之 conda install pip install
软硬件
- 显卡:
A4000
(对应的算力为8.6
) - 系统:
Ubuntu 18.04 LTS
- 驱动:
NVIDIA DRIVER 470 - CUDA11.4
- 参考链接1:显卡算力查询官网
这里介绍的显卡算力主要是要和CUDA - cuDNN
匹配(如果要使用cudnn
,8.x
算力的显卡对cudatoolkit
的要求是11.x
)。
conda install
使用该命令,如果不匹配,没有找到对应的包,默认选择安装 CPU
版本!对应的各个版本截图示意如下。
1.8.0 (太早之前的就不测试了)
# CUDA 10.2
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch# CUDA 11.1
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
CUDA 10.2
CUDA 11.1
这里需要注意下:PyTorch 1.8.0
可以和 CUDA 11.1
匹配!
1.8.1
# CUDA 10.2
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=10.2 -c pytorch# CUDA 11.3
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge
CUDA 10.2
CUDA 11.3
经测试,将 cudatoolkit
版本降至 11.1
后,可以成功下载 GPU
版,11.2
不行。
1.9.0
# CUDA 10.2
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=10.2 -c pytorch# CUDA 11.3
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=11.3 -c pytorch -c conda-forge
CUDA 10.2
CUDA 11.3
同上:经测试,将 cudatoolkit
版本降至 11.1
后,可以成功下载 GPU
版,11.2
不行。
1.9.1
# CUDA 10.2
conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=10.2 -c pytorch# CUDA 11.3
conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=11.3 -c pytorch -c conda-forge
CUDA 10.2
CUDA 11.3
同上:经测试,将 cudatoolkit
版本降至 11.1
后,可以成功下载 GPU
版,11.2
不行。
1.10.0
# CUDA 10.2
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=10.2 -c pytorch# CUDA 11.3
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
CUDA 10.2
CUDA 11.3
可以看到,对于比较新的 PyTorch
版本,是可以使用 conda install
安装 GPU
版本的!而之前相对比较老的版本就不行。
1.10.1
# CUDA 10.2
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=10.2 -c pytorch# CUDA 11.3
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge
CUDA 10.2
CUDA 11.3
总结
1.10.0
之前的 PyTorch
,都无法使用 CUDA 11.x
(更正:后来经过测试,将 cudatoolkit
版本改为 11.1
后都能成功安装了!),但是可以使用 CUDA 10.x
。
这里说下 CUDA 11.x
与 CUDA 10.x
的区别:支持的算力不同,如果要使用 cuDNN
进一步加速,而显卡算力和安装的 CUDA
不匹配,就无法使用。本次实验使用的显卡为 A4000
,支持的算力为 8.x
,对应的 cuDNN
版本也应该为 8.x
才行。
import torch
print(torch.cuda.is_available(), torch.cuda.device_count())from torch.backends import cudnn
print(cudnn.is_available())
print(cudnn.is_acceptable(torch.rand(1,).cuda()))
升级为 CUDA 11.x
后,再次验证:
pip install
使用 pip install
基本都没有问题,能够成功安装上 GPU
版本,需要注意的还是上述那点,CUDA
版本要和显卡算力相匹配,否则无法使用 cuDNN
进一步加速运算!
对于无法使用 conda install
的版本,使用 pip install
安装是一个很好的解决方案,唯一的不足之处是,pip install
安装的包只保留在当前虚拟环境中,每次都需要重新下载。而 conda install
时,首先会从 ~/anaconda3/pkgs/
里面寻找,如果找到,直接复制一份到当前虚拟环境,不用重新下载,所以速度基本是以秒计算;如果没有,那么还是会先将包下载缓存到该目录下,然后执行相同的复制操作。
以下只是个人想法!!!
有了以上的知识之后,我们可以这样操作,将可以使用 pip install
安装而无法使用 conda install
的包(比如 PyTorch1.8.1-CUDA 11.3
)复制到 ~/anaconda3/pkgs/
目录下,然后就可以使用 conda install
安装了,但是需要注意一个小细节,就是修改 CUDA
的版本,因为 pip install
只提供 CUDA 11.1
,所以对应到的命令就是:
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.1
一直没有注意到这个细节:为什么使用 conda install
安装不成功,而使用 pip install
就能成功呢?这里官方真的是好好地坑了我们一把!!!其实并不是 conda
本身的问题,而是因为我们指定的 cudatoolkit
版本不对!也就是官方提供的版本不对!!!因此,如果需要使用 conda install
时,只需要将 cudatoolkit
的版本指定为 pip
里面的即可!!!举个栗子:
官方提供的 cuda
安装命令:
# CUDA 11.3
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge
经过上面的实验,我们知道,如果使用上面的命令来安装是不行的,我们这里想要的是 PyTorch 1.8.1
对应的 CUDA 11.x
,这样才能和机器的算力匹配,使用 cudnn
加速运算,而这里官方只给我们提供了最新的 11.3
,直接复制运行就出错了,直接给我们整个 cpu
版本的!让我们来看看官方提供的 pip
命令是怎样的:
# CUDA 11.1
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html# CUDA 10.2
pip install torch==1.8.1+cu102 torchvision==0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html# CUDA 10.1
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
看到了吗?是 CUDA 11.1
,而不是 CUDA 11.3
!!!因此,我们只需要把 conda install
后面的命令稍微改一下,完全可以运行成功:
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.1 -c pytorch -c conda-forge
来对比一下吧。
- 没有修改之前的效果
- 修改之后的效果:
终于把这个困惑给解决了!
!最终方案
使用 conda install
时,不指定 cudatoolkit
的版本时,默认会安装与 PyTorch
版本相匹配的最新 CUDA
,因此不需要上面那样反复地尝试!
经过这次的实验捣鼓,终于理解了之前一个博客大佬所说的。如果我们没有 cuda
编程需求的话,根本就不需要安装什么 cudatoolkit cudnn
,只需要安装配置好 NVIDIA
驱动即可!我们在安装 PyTorch
的时候早就已经帮我们打包好了!!!没有上述需求的话还需要安装吗?不需要了!
可以通过将 CUDA
从系统配置变量中移除来检验。
补充
- 如果使用的是
pip install
,是不会安装cudatoolkit
的,因此需要在服务器上配置CUDA
环境。 - 如果你只会用到
conda install
来进行安装,那么不在服务器上安装配置CUDA
也是可以的。
PyTorch-GPU 安装之 conda install pip install相关推荐
- Win10+Python3.6下Pytorch安装(基于conda或pip)
Pytroch简介 Pytorch是Facebook的AI研究团队发布了一个Python工具包,专门针对GPU加速的深度神经网络(DNN)编程.Torch是一个经典的对多维矩阵数据进行操作的张量(te ...
- python matplotlib库安装出错_使用pip install Matplotlib时出现内存错误
我使用的是Python2.7,如果我试图安装Matplotlib,如果我使用"pip install Matplotlib",就会出现这个错误Exception: Tracebac ...
- python自动安装pip教程_谈谈全自动安装常使用的pip install的原理及作用!!!
正如第一句所说: pip is the package installer for Python. You can use pip to install packages from the Pytho ...
- python安装默认路径_Python pip install如何修改默认下载路径
Python pip install如何修改默认下载路径 pip动不动就下载数百M的文件.这些文件默认在C:盘,那么为了节省空间需要修改这些路径: 打开cmd命令窗口.输入: python -m si ...
- 安装 python 虚拟环境 > pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/报错解决办法
安装 python 虚拟环境 > pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/报错解决办法 [root@ ...
- pytorch gpu安装 torch.cuda.is_available()是true才成
由于之前装了个假的gpu版本,所以来记录一下正确的怎么安装. 先看NVIDIA控制面板-帮助-系统信息-组件 看驱动版本,我的是9.0. 或者是 cmd输入NVIDIA-smi看 我的版本是385. ...
- pytorch gpu安装教程(Perfect完美系列)
文章目录 前言 `一.安装Pytorch-GPU版(超详细教程)` 扩展阅读-GPU.CUDA Toolkit.cuDNN关系 二.安装Anaconda(环境管理) 下载链接 Anaconda命令行总 ...
- Win10下NVIDIA-GForce940MX-Python3.9.7的Pytorch包安装经验分享(pip安装法)
----------------更新于2022.4.10---------------- 内容提要:安装Pytorch是进行人工神经网络深度学习必备的程序pag,在这里借用3W原则给大家进行解释. W ...
- (2023)CUDA11.7+Python3.9+Pytorch GPU安装
(补档)(自用留存)(有问题欢迎互相交流) 一.安装Anaconda 官网链接(默认新版):Anaconda | The World's Most Popular Data Science Platf ...
最新文章
- 黑盒测试之等价类测试
- 批量创建同义词并授权
- 使用ABAP Push Channel(APC)开发的乒乓球游戏,可双打
- 贝叶斯 朴素贝叶斯_手动执行贝叶斯分析
- sas 文件传输 本地 服务器,SLIM SAS SFF-8654服务器转换线让传输更容易!
- Laravel Migrate
- ios学习:Xcode工具
- C++11 继承构造函数
- python 决策树回归参数_python决策树之CART分类回归树详解
- python输出结果换行_如果Python中有很多换行,可以选择使用...表示多行内容...
- os.getcwd()
- java inflater_Android下LayoutInflater的正确使用姿势
- 渐开线曲线方程c语言,proe常用曲线方程大全
- 浙江大学内部Python教程(教材PDF, PPT课件, 源码)
- 如何关闭445端口 两种方式教你关闭445端口
- 【科技文献检索】CNKI中国知网检索
- lombok报错Ambiguous method call. Both
- 零基础想要快速的学好3D游戏建模,兼职接单私活,来看业内人士的分析
- 关于点焊,你知道多少
- java版林地府邸种子_最好玩的5大林地府邸种子,手机党玩家的福利!