ubuntu16.04 通過anaconda建立虛擬環境,安裝tensorflow1.10,cuda9.0,cudnn7.1.2

1.anaconda建立虛擬環境及conda操作

//env_name代表你想要建立的環境名字,-n表示名字
conda create -n ${env_name} python=3.5

//激活環境
source activate ${env_name}

//退出環境
source deactivate

//刪除環境
conda remove -n ${env_name} --all

//查看conda環境
conda info --env

//查看conda的安裝包
conda list

2.安裝tensorflow,cuda,cudnn

  本身tensorflow的安裝很簡單,只需要pip或者conda就好,但是必須找到tensorflow,cuda,cudnn的對應關係。

Version                              Python version   Compiler     Build tools     cuDNN     CUDA
tensorflow_gpu-1.11.0     2.7, 3.3-3.6         GCC 4.8     Bazel 0.15.0     7                 9
tensorflow_gpu-1.10.0     2.7, 3.3-3.6         GCC 4.8     Bazel 0.15.0     7                 9
tensorflow_gpu-1.9.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.11.0     7                 9
tensorflow_gpu-1.8.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.10.0     7                 9
tensorflow_gpu-1.7.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.9.0       7                  9
tensorflow_gpu-1.6.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.9.0       7                  9
tensorflow_gpu-1.5.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.8.0       7                  9
tensorflow_gpu-1.4.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.5.4       6                  8
tensorflow_gpu-1.3.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.4.5       6                  8
tensorflow_gpu-1.2.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.4.5       5.1               8
tensorflow_gpu-1.1.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.4.2       5.1               8
tensorflow_gpu-1.0.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.4.2       5.1               8

  注意,例如cuda9.0,cudnn儘量選擇7.0*或者7.1,不然或許會有問題

(1)tensorflow的安裝:

//注意必須到當前虛擬環境
pip install tensorflow-gpu==1.10
conda install tensorflow-gpu=1.10

(2)cuda與cudnn的安裝(使用conda)

  使用conda安裝cuda和cudnn可以保證不影響系統默認環境的cuda和cudnn

  因爲conda的默認源速度慢且沒有cuda版本,因此需要添加國內清華或者中科大的源

//終端加入
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

//或者直接打開文件加入
sudo gedit ~/.condarc

 

//安裝cuda
conda install cudatoolkit=9.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/

//安裝cudnn
conda install cudnn=7.1.2

(3)cuda安裝的另一方式

  如果不想通過conda安裝,可以通過源文件進行安裝,安裝方式見https://mp.csdn.net/postedit/81183063

  找到對應的cuda和cudnn版本,下載後進行安裝,因爲系統中可能存在不同版本的cuda,所以需要對cuda軟連接進行處理,使其指向不同的cuda

  打開環境變量:

gedit ~/.bashrc

  找到關於cuda的幾行

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

  因爲其指向的是cuda8.0,我們先把庫文件位置變成cuda可執行文件所在位置而與具體的版本無關,將上面一段修改爲:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

  cuda版本切換

//刪除原來的軟連接
sudo rm -rf /usr/local/cuda

//建立新的軟連接
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda

查看軟連接

cudnn版本切換:

  主要需要將cudnn文件放入你選擇的cuda版本中

 

sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h
sudo chmod a+r /usr/local/cuda-9.0/lib64/libcudnn*

3.錯誤總結
(1)could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

  解決方法:sudo rm -rf ~/.nv/

  (2)tensorflow版本與cuda,cudnn版本的問題會出現很多問題,需要修改版本

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章