Configuring-Pytorch&CUDA

概述

  记录一下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
3
sudo 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
4
sudo 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
3
export 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
2
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

Pytorch安装

  很简单,pip安装一下即可

1
2
pip 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