-
简而言之,先看你的显卡,打开CMD,输入
nvidia-smi
,右上角有一个CUDA:XX.X
表示当前显卡及当前驱动支持的最高版本CUDA。输入nvidia-smi -q
可以看到显卡架构(或者直接去Nvidia官网找你的显卡)。再打开这个连接,查看你显卡架构支持的最低版本CUDA。从中选择一个cuda版本 -
torch是自带了cudnn(就是cuda toolkit的)
-
然后如果想使用GPU,那么请到这里去找到你选的版本(如
CUDA11.1
就搜索cu111
),就可以检索出你能安装的所有版本torch,再查找你的python版本,按照这个找到你可以安装的torch(或者升级/降级你的python以适配你想要的torch版本)依据torch官网的语句或者修改这段代码如果不想折腾,且认为自己需要最新适配版,请直接使用
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cuxxx
并将xxx替换为你自己的注意:首选pip安装,因为conda安装还会改变部分库的引用方式(比如torch.data变成torch.utils.data)
pip install torch==1.8.1+cu113 torchvision==0.9.1+cu113 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge
改成清华源也行。
-c xxxxx
是通道选择,实际上是在指定下载源使用conda会先解析你的环境然后卡住好久并且占用大量的CPU和内存,以至于你会感觉它说是不是坏了(实际上没有),结束后也有几率为你安装不是你想要的版本,所以首先选择pip(pip3
)正常情况下只会为你安装torch的四个包(哪四个我忘了,除了命令里的三个还有一个)
如果你选择的版本不匹配(必须是对应的),使用pip将会看到:
ERROR: Could not find a version that satisfies the requirement torch==1.8.1+cu113 (from versions: 1.4.0, 1.4.0+cpu, 1.4.0+cu92, 1.5.0, 1.5.0+cpu, 1.5.0+cu101, 1.5.0+cu92, 1.5.1, 1.5.1+cpu, ...) ERROR: No matching distribution found for torch==1.8.1+cu113
使用conda(即使版本正确)会帮你安装带了
cpuonly
这一个包和你要求的cudatoolkit
版本,和你要求的torch
系列版本,以及一大堆奇怪的文件。然而是CPU版,它并不能在GPU上跑。The following packages will be downloaded: package | build ---------------------------|----------------- * cpuonly-1.0 | 0 2 KB pytorch cudatoolkit-11.3.1 | h280eb24_10 820.8 MB conda-forge * numpy-1.23.2 | py38h223ccf5_0 6.3 MB conda-forge * python_abi-3.8 | 2_cp38 4 KB conda-forge pytorch-1.8.1 | py3.8_cpu_0 160.4 MB pytorch tbb-2021.5.0 | h2d74725_1 148 KB conda-forge torchaudio-0.8.1 | py38 2.7 MB pytorch torchvision-0.9.1 | py38_cpu 6.7 MB pytorch typing_extensions-4.9.0 | pyha770c72_0 35 KB conda-forge zlib-1.2.12 | h8ffe710_2 112 KB conda-forge ------------------------------------------------------------ Total: 1.14 GB
-
torch版本不是越高越好。
-
此外,某些你copy的程序是依赖于低版本torch运行的(如1.4.0),这意味着这些有特殊依赖的永远无法在你的机器上以GPU运行。不过它仍然可以用CPU版本的torch跑。(例如torchtext库和torch的版本严格对应,
torch=1.8.0
意味着只能选择torchtext=0.9.0
,而此版本的torchtext
中已经将Field
等方法移到了torchtext.legacy
而不是torchtext
下,甚至在torchtext=0.12.0
中彻底删除了这些方法,这意味着你将无法在torch>=0.11.0之后调用这些方法)。如果你试图直接下载源文件(即Field.py之类),会产生更多不可预料的问题。 -
特别注意,安装版本的某些依赖包不成功,或者成功安装与当前torch不匹配的版本,pip会为你自动安装对应的CPU版本torch,并且不经过你同意。这会导致环境被降级到CPU类型(污染),需要重装操作。
-
你不应该把CPU版本的Torch和GPU版本的安装在同一个conda环境里。但是你可以安装多个CUDA(比如分别安装在
D:/Code/CUDA/11.1
和D:/Code/CUDA/11.7
),然后在不同的conda环境中安装不同的torch。他们不会相互干扰 -
如果你想卸载torch,如果你的环境刚安装不久没有太多依赖,请直接--all删除环境,重新配。如果环境依赖比较多,而你要卸载CPU版torch(这个我没什么好办法)。如果要卸载GPU版,请依次卸载
torch torchvision torchaudio
并且卸载cpuonly
,然后记得在确保安全(并且知道这两个命令的含义)的前提下使用conda clean -a pip cache purge
或者其他的什么作用类似的代码
-
至于同一环境中同时安装
tensorflow
,torch
和mindspore
,似乎用处不是特别大,当她们依赖的库(例如numpy
和matplotlib
)版本不一样时会产生意想不到的冲突(污染)。所以如非必要(比如你要建立一个在线编程网站供使用者随时调用,那么请仔细选择版本。当然绝大多数情况下没人会在一个小项目里同时使用tf
和torch
),不用同时安装。
标签:torch,PyTorch,3060,conda,CUDA,版本,显卡,安装 From: https://blog.csdn.net/m0_64034036/article/details/139584502
这段引用文字不需要看
python版本
GPU驱动版本、支持cuda版本和算力
torch版本
注意,
tensorflow版本
tensorflow1.x只能在cuda10.0及之前的显卡驱动上运行。
GeForce RTX 30系显卡目前是支持CUDA 11.1及以上版本,而Tensorflow 2.4及更高版本才支持CUDA 11。
RTX3060显卡只能装CUDA 11,对应 tensorflow只能是2.4以上才可以。
win11_3060显卡配置深度学习环境tensorflow-gpu2.4.0(CUDA 11.0,cuDNN 8.0,python3.8.17)
TensorFlow-GPU和Keras-GPU安装,显卡、cuda、cudnn版本匹配问题(vs code远程连接服务器)_tensorflow匹配-CSDN博客 这里有张显卡架构、算力和CUDA版本支持的问题