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