linux服务器上安装pytorch torch.cuda.is_available()=False
前提:服务器已安装了cuda、cudnn、anaconda3,python3.6
过程:出现这个问题的时候查了很多资料,下面归纳总结碰到此问题时可以从以下三个方面进行尝试。
方法一、服务器cuda
确认服务器安装了多少cuda以及其版本。确认服务器cuda版本的命令有以下三个:
nvidia-smi
这个命令既可以查cuda的驱动API版本,也可以查看GPU运行状态;
ncvv -V
查看cuda的runtime API 版本;
cat /usr/local/cuda/version.txt
如果不知道cuda这两个API什么意思的,感兴趣的可以看这里说明
以上三个命令都可以查看cuda版本,如果一致的话,可以核实安装的pytorch版本是否与cuda版本对应并安装对应的pytorch。如果不一致,则尝试下面第二种解决方法。
我的情况是ncvv -V查出来是cuda 9.0,cat /usr/local/cuda/version.txt查出来是cuda 8.0,所以我尝试了方法二。
方法二、配置环境变量
修改profile文件:
sudo gedit /etc/profile
在末尾加上:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-8.0
然后source /etc/profile.
我安装的pytorch版本对应的是cuda 8.0,所以配置环境变量直接链接到cuda 8.0,如果安装的是其他版本的pytorch,可以做相应修改。
但是这个方法也没有解决我的问题。然后继续查资料的时候看到关于pytorch安装十分重要的一点:torchvision的发行日期不能高于torch。所以我灵机一动,尝试了方法三。
方法三、降低torchvision版本
查了一下发行日期torchvision 0.2.1正好合适,所以卸载了原本的torchvision,安装了torchvision 0.2.1,然后问题解决!
>>> torch.cuda.is_available()
True
有时候,问题一直解决不了可能是因为你错在了根源上。
本文地址:https://blog.csdn.net/weixin_44023916/article/details/107256522