概述
记录一下pytorch和cuda的安装流程,其实只要避开一些坑,安装并不麻烦。
过程
配置环境
我的笔记本原配置环境如下:
- CPU:CORE i7
- GPU:GTX 960M
- OS:ubuntu 16.04
安装成功的版本
- cuda-repo-ubuntu1604-9-0-local_9.0.176-1
- torch-0.3.0.post4-cp36-cp36m
- cudnn-9.0-v7
- torchvision-0.1.8
具体过程
需要的文件
- cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
- cudnn-9.0-linux-x64-v7.tgz
- torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl
- torchvision-0.1.8-py2.py3-none-any.whl
CUDA安装
使用deb安装方式(PS:之前有人和我说过deb安装方法有Bug,当时我就不太相信,实际在本次安装中确实没有出现CUDA上大的问题),过程如下:1
2
3sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
cuDNN安装
在下载好tgz压缩文件后,先进行解压,得到cuda文件夹,进入文件夹中,执行如下命令:1
2
3
4sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
然后打开配置文件,将cuda加入环境变量1
sudo gedit ~/.bashrc
在末尾添加上如下内容:1
2
3export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda
使环境变量生效1
source ~/.bashrc
再多说一下cuDNN卸载的方法,当你使用GPU加速的时候,若是报错cuDNN版本和pytorch的编译版本不同的时候,先删除原来的cuDNN,再找到对应的版本安装一下即可,删除的方式如下:1
2sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
Pytorch安装
很简单,pip安装一下即可1
2pip install torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl
pip install torchvision-0.1.8-py2.py3-none-any.whl
至此,安装完成。
测试
如果在没有报错的情况下,你依然想测试下GPU使用是否正常,可以运行一个使用GPU的程序,然后5s间隔刷新一遍GPU使用情况1
watch -n 5 nvidia-smi
若GPU中有python程序占用了部分内存,说明GPU使用正常,否则应该是GG了。
留意的坑
OS版本问题
一开始电脑装的是16.10,然后尝试安装的时候,出现了各种问题。然后重作16.04的系统,基本一路畅通无阻。
cuDNN版本问题
一开始安装的cuDNN版本为7104,本来以为pytorch的7004可以兼容的,然后就报错了…1
RuntimeError: cuDNN version mismatch: PyTorch was compiled against 7004 but linked against 7104
重新下载了v7版本,非v7.1版本的cuDNN,问题得以解决。
小结
总的来说,使用deb安装cuda,并且注意OS和安装文件版本的话,安装还是挺简单的,起码我在安装的时候并没有出现听说的黑屏的现象,可能是我采用了deb方法的原因。
参考
[1] SaoYan 的学习笔记:Tensorflow—1