原下载方案
原本使用PyTorch官网提供的conda install命令进行下载
(之前在linux服务器上运行该command均使用丝滑,但这次在WSL Ubuntu上出现了问题)
这样下载完后,torch.cuda.is_available()返回False
然而nvcc -V 和 nvidia-smi均显示正常
如果采用低版本(10.2)的下载command,虽然torch.cuda.is_available()可以返回True,但是在cuda计算时会显示和当前显卡型号不兼容的问题。
新的方案
在PyTorch手动下载目录中选择适合的torch以及torchvision等库进行一个wget
比如这里,我使用的是cuda11.7和python3.9
就需要复制红框里的地址
conda activate #你的虚拟环境#
#先卸载掉原本的pytorch
conda uninstall pytorch
#下载对应版本的torch库
wget https://download.pytorch.org/whl/cu116/torch-1.12.1%2Bcu116-cp39-cp39-win_amd64.whl
#再用pip安装上
pip install torch-1.12.1+cu116-cp39-cp39-linux_x86_64.whl
#torchvision等库同理
wget https://download.pytorch.org/whl/cu116/torchvision-0.13.1%2Bcu116-cp39-cp39-linux_x86_64.whl
pip install torchvision-0.13.1+cu116-cp39-cp39-linux_x86_64.whl
经过上述操作后,torch.cuda.is_available()顺利输出True,测试了一下神经网络相关的cuda计算也情况正常
注
虽然不建议pip和conda混用,但目前我没有找到更好的方案。
这里还是建议首先排除cuda版本/PyTorch版本和cuda安装等因素,如果仍然存在类似的问题,可以尝试本文的解决方案。