ubuntu 16.04下安裝cuda, cudnn和pytorch等框架
0. 環境和目標
系統:ubuntu 16.04, gtx1070(or k4200)
目標:安裝cuda8, cudnn7(and cudnn6), pytorch and tensorflow
1
2
3
4
5
6
7
8
9
10
11
12
13
因爲cuda8支持cudnn7(for pytorch0.3.0)和cudnn6(for tensorflow 1.4.1),所以選擇cuda8 + cudnn7/6的方式
```
## 1. 參考過程
配置過程中參考了以下幾份資料:
* http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
* www.52nlp.cn/2017/09
## 2. 安裝nvidia driver
```bash
sudo apt-get purge nvidia*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get install nvidia-387
執行上面的命令後,重啓電腦,並用nvidia-smi命令驗證下是否安裝成功。注意nvidia版本。
3. 安裝cuda 8
nvidia官網下載cuda8以及patch2,並安裝
1
2
3
4
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb
執行nvidia-smi,如果出錯,重啓(可能在安裝cuda過程中,裝了新版驅動)。編譯運行cuda的samples驗證cuda是否安裝成功。
執行下面命令配置cuda環境,同时 source ~/.bashrc 让其生效。或者,直接編輯~/.bashrc。
1
2
3
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
4. 安裝cudnn7和cudnn6
nvidia官網下載cudnn7和cudnn6。注意,cudnn7和cudnn6以及cudnn5是可以共存的
1
2
3
4
5
6
7
8
# v7
sudo dpkg -i libcudnn7_7.0.5.15-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.5.15-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.5.15-1+cuda8.0_amd64.deb
# v6
sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb
編譯cudnn7和cudnn6的samples驗證
5. 安裝anaconda3
添加清華鏡像,後續裝相關庫時速度會更快。
6. 安裝pytorch
創建pytorch虛擬環境,在該環境中安裝pytorch
1
2
3
conda create --name pytorch --clone root
source activate pytorch
conda install pytorch torchvision -c pytorch
驗證
7. 安裝tensorflow
創建tensorflow虛擬環境,並安裝tensorflow
1
2
3
4
conda create --name tensorflow --clone root
source activate tensorflow
sudo apt-get install libcupti-dev
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.1-cp36-cp36m-linux_x86_64.whl
驗證。可能會在import tensorflow時出現一些warning。以及可能會出現其他一些錯誤。
1
2
1. 如果之前沒有安裝cudnn6,會出現找不到libcudnn6.0.so的錯誤。解決方法有二:(1)裝好cudnn6,或者(2)建立軟鏈接,即sudo ln -s path-to-libcudnn.so.7 path-for-libcudnn.so.6
2. 可能其他虛擬環境無法使用,不能import numpy,例如root和剛剛建立的pytorch。解決方法:進入root環境,然後pip uninstall numpy, conda install numpy即可。如果不行,參見https://github.com/numpy/numpy/issues/8076,獲取更多信息