Anaconda下GPU版本的tensorflow配置以及keras配置

ubuntu16.04+Anaconda3-5.1.0+tensorflow-gpu1.12.0+cuda9.0+cudnn7.4.1+keras2.2.4

1. pyenv安裝

1.1 安裝git

$ sudo apt-get install git #安裝git
$ git --version #檢查版本以及確認已經成功

1.2 開始裝pyenv

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv #下載源文件
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc  #定義PYENV_ROOT
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc #定義PYENV_ROOT
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc  #pyenv init

重啓終端。

1.3 查看可安裝列表

$ pyenv install --list 

1.4 安裝Python的依賴包

$ sudo apt-get update
$ sudo apt-get install make build-essential libssl-dev zlib1g-dev
$ sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
$ sudo apt-get install llvm libncurses5-dev libncursesw5-dev

2. 安裝Anaconda

清華鏡像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
Anaconda官網:https://www.anaconda.com/
這裏下載的是Anaconda3-5.1.0-Linux-x86_64.sh

$ cd  ~/.pyenv #進入.pyenv配置文件中
$ sudo mkdir cache #新建cache文件夾(默認沒有)
$ cp Anaconda3-5.1.0-Linux-x86_64.sh ~/.pyenv/cache #通過cp命令 將xxx.sh文件copy到cache下
$ pyenv install anaconda3-5.1.0 #安裝 默認會掃描cache目錄下面的文件 所以可以快速安裝
$ pyenv rehash # 刷新

3. 安裝GPU驅動以及裝載CUDA

3.1 卸載原有驅動(針對之前有驅動的情況)

$ sudo apt-get remove --purge nvidia*
$ sudo chmod +x *.run #賦給.run運行的權限
$ sudo ./NVIDA-Linux-x86_64-410.93.run --uninstall #具體版本參考自己的GPU型號去官網查詢

3.2 禁止nouveau驅動

$ sudo gedit /etc/modprobe.d/blacklist.conf

# 將下面的兩句話加入這個配置文件中保存
blacklist nouveau
options nouveau modeset=0
修改後執行sudo update-initramfs -u,重啓電腦後,輸入lsmod | grep nouveau。如果屏幕沒有任何信息輸出,說明禁止成功。

3.3 禁止X-windows服務

$ sudo service lightdm stop #會關閉圖形化界面

# 然後Ctrl + Alt + F1 切換到到命令行界面 然後利用賬戶和密碼登錄,帳號密碼不可以使用小鍵盤。
# ps:sudo service lightdm start 開啓 Ctrl + Alt + F7 即可以切換回去。

3.4 命令行驅動安裝

驅動下載:https://www.nvidia.cn/Download/index.aspx?lang=cn

$ sudo ./NVIDA-Linux-x86_64-410.93.run --no-opengl-files #不需要安裝額外的OpenGL庫(ubuntu本身已經有了)

一直看着提示安裝,如果出現錯誤(32bit 兼容...)忽略不計,或者多次反覆安裝即可。
均默認選項即可。

3.5 驅動測試

$ nvidia-smi #會顯示出本機安裝的驅動列表 有提示就行了。
# or
$ nvidia-settings #彈出NVIDIA對話框即可

3.6 安裝CUDA

CUDA下載:https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal
#應該下載.run形式而不是deb形式。
#應該在tty界面進行安裝。

$ sudo ./cuda_9.0.176_384.81_linux.run --no-opengl-libs

如果進度條不動,那麼就一直按着Enter鍵,然後按着以下選擇進行安裝。

$ accept #同意安裝
$ n #不安裝driver,之前已經裝載最新驅動
$ y #安裝CUDA toolkit
$ <Enter>
$ <Enter>
$ y #允許創建目錄
$ y #允許複製/Sample

3.7 測試CUDA Sample

編譯以及測試deviceQuery

$ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery

編譯以及測試bandwidthTest

$ cd ../bandwidthTest
$ sudo make
$ ./bandwidthTest

如果兩個的結果均爲 Result = PASS,說明到現在我們已經完成了CUDA的安裝。

3.8 設置cuDNN

cuDNN下載:https://developer.nvidia.com/rdp/cudnn-archive
此處下載的是cuda-9.0

解壓命令如下:
如果這個壓縮包不是.tgz格式的,把這個壓縮包重命名爲.tgz格式。解壓當前的.tgz格式的軟件包到系統中的任意路徑(這個路徑很重要,以下將該路徑的絕對路徑簡稱爲/your/path/to/cudnn),解壓後的文件夾名爲cuda,文件夾中包含兩個文件夾:一個爲include,另一個爲lib64。
例如:我將這個壓縮包解壓在了/usr/local目錄下,那麼該文件的絕對路徑爲/usr/local/cuda

$ tar -zvxf archive_name.tar.gz -C /usr/local

解壓下載的cudnn得到cuda這個文件夾並且進入進行以下操作:

由於我安裝發現在我的 /usr/local/下會出現cuda以及cuda-9.0`,所以我建議下面的操作兩個都需要試試(視情況而定)。

$ sudo cp include/cudnn.h /usr/local/cuda(需要後面都替換爲cuda-9.0,後面都需要做兩次)/include/ #複製頭文件
$ sudo cp lib64/* /usr/local/cuda/lib64/
$ cd /usr/local/cuda/lib64
$ sudo ln -sf libcudnn.so.7.4.1 libcudnn.so.7 #這裏生成軟鏈接 根據自己下載cudnn版本不同 其數字會有所不同
$ sudo ln -sf libcudnn.so.7 libcudnn.so
$ sudo ldconfig -v #生成鏈接
$ ls # 查看一下當前目錄下是否存在上面的so文件以及是否會有紅色(表示鏈接錯誤)

我解壓之後發現不需要進行copy操作了,因爲相應項已經解壓到應該在的位置了,所以只進行了後面生成軟鏈接的步驟。

4. 創建環境安裝TensorFlow-GPU

4.1 安裝pip

$ sudo apt-get install python-pip

4.2 創建anaconda環境(爲TensorFlow做準備)

$ pyenv global anaconda-xxx-xx # 首先切換之前裝好的anaconda
$ conda create -n tensorflow(環境名稱) #創建tensorflow環境可以理解爲容器

4.3 開啓TensorFlow環境

$ source activate tensorflow #跟前面的創建的名稱一致
(tensorflow)$  # 你的shell就會變成這樣 

4.4 安裝TensorFlow-GPU

首先需要根據CUDA和cuDNN選擇相應的tensorflow版本 這裏選擇1.2 因爲之前的驅動裝的版本比較低,因爲比較穩定。據你自己情況而定。
具體的適用的表在tensorflow的官網源碼安裝部分有列出。
tensorflow的官網:https://tensorflow.google.cn/install/source

在不影響主機系統設置的情況下,在虛擬環境中安裝軟件包。首先升級 pip:

$ pip install --upgrade pip
$ pip list  # show packages installed within the virtual environment

之後要退出虛擬環境,請使用以下命令:

$ source deactivate  # don't exit until you're done using TensorFlow
$ pip install --upgrade tensorflow

然後便可以驗證安裝效果了:

$ python
$ import tensorflow as tf

不報錯以及warning即可。

5. 安裝Keras

$ source activate tensorflow # 首先進入我們之前搭建的環境
$ pip install keras #安裝keras

等待安裝結束,輸入python進入環境中。

>>> import tensorflow as tf
>>> import keras

沒有報錯就完成了所有的搭建。

6. Keras demo

$ git clone https://github.com/fchollet/keras.git
$ cd keras/examples/
$ python mnist_mlp.py

接下來你就會看見很酷的訓練數據以及模型,沒有任何錯誤即可。

 

 

附錄:
1. Anaconda常用命令
$ pyenv versions #查看本地的Python版本
$ pyenv install --list #查看可安裝的列表
$ pyenv install xxxx #安裝xxx
$ pyenv uninstall xxxx #卸載xxx
$ pyenv global 環境名稱 # 設置全局Python環境版本
$ pyenv local 環境名稱 # 設置本地shell的Python環境版本
# ps:其他命令請輸入pyenv或者查詢官方手冊查看

2.創建Anaconda下的虛擬環境

$ pyenv global anaconda-xxx-xx #首先切換之前裝好的anaconda
$ conda create -n tensorflow(環境名稱) #創建tensorflow環境可以理解爲容器

 

 

引用:
1. 作者:halolong
   鏈接:https://www.jianshu.com/p/eb6a52925566
   來源:簡書
2. 作者:每天都要深度學習
   原文:https://blog.csdn.net/lucifer_zzq/article/details/76675239  
   來源:CSDN

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