环境
我的电脑配置如下:
CPU | GPU | 系统 |
I7-11800H | RTX3050TI | Windows10家庭中文版 |
当我们需要运行机器学习相关的模块的时候,PyTorch一定是一个必不可少的选择。一些新购入30系显卡的朋友可能注意到,pytorch目前stable所提供的CUDA版本是11.3,但截止发布日,NVIDIA发布的最新驱动,已经更新到了CUDA11.6版本。
安装
首先查看版本信息
#在cmd下输入下列代码查看GPU信息
nvidia-smi
我们来到官网,首页即是所需版本的安装命令。
https://pytorch.org/get-started/previous-versions/
这时,我们本能反应是去寻找对应的版本,可翻遍了全网,也没有找到11.6版本(真的很新),于是我开始暴力解决,即:直接手动修改命令:
#官网提供的安装命令
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=11.3 -c pytorch -c conda-forge
#我们魔改的
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=11.6 -c pytorch -c conda-forge
明显可以看出,我们直接把“cudatoolkit”版本修改成了11.6,回车运行,发现安装过程中并没有任何报错,一切正常进行。可由于命令行翻动太快,我并没有看清楚真正安装的是否是我所输入的版本。安装完成之后,执行以下代码检查是否安装正确:
C:\Users\dingl>conda activate python39 #激活conda环境,后面跟你的虚拟环境名称
(python39) C:\Users\dingl>python
Python 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
1.11.0 #查看安装pytorch版本,弹出版本及证明安装正确
>>> torch.cuda.is_available() #查看cuda是否可用
False #弹了Fasle不可用
程序给我们返回了False,也就是说,并没有完全兼容。
解决
在经过了一番周折之后,偶然情况下,我直接尝试了最新版本的torch,继续上述步骤安装,cuda依然是11.3版本。
正常安装后,再次运行刚刚的检测代码,torch成功给我们返回了True,也就是说,PyTorch已经正确兼容了所有组件。
这里需要注意,我们最初希望的是在PyTorch 1.9.X下兼容,可是现在强行改成更新的1.11.0后,仍不确定是否存在版本差异所产生的bug,具体更新详情,可以参见官网文档https://pytorch.apachecn.org/#/