在使用pytorch的时候,有时会遇到torch.cuda.is_available()返回false的问题,一般出现这个的原因是因为驱动没有安装好的缘故。解决的方案是:
1、安装nvidia相应的驱动版本和对应的cuda和cudnn。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-396
#开发使用
sudo apt install nvidia-396-dev
有时会碰到nvidia-396找不到的情况,使用
sudo apt search nvidia
后发现库中没有nvidia-396的版本,这时可以安装nvidia-384的版本
sudo apt install nvidia-384
但是该版本似乎不支持cuda9.1,如果碰到与cuda版本不支持的问题,建议可以直接去nvidia官方网站下载驱动进行安装。
https://www.nvidia.cn/Download/index.aspx?lang=cn
cuda和cudnn可以直接使用conda进行安装, 如果遇到问题,可以查阅相关的文档,这里就不赘述了。
conda install cudatoolkit
2、安装nvidia-cuda-toolkit方便使用nvcc
sudo apt-get install nvidia-cuda-toolkit
如果碰到nvcc -V 显示的版本与系统实际安装的版本不同的问题,可以参见
https://zhuanlan.zhihu.com/p/48641682
一般进行驱动的正确安装后,就可以使用gpu进行计算了。