(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow-gpu+Keras安裝)
說明:大家搭建開發環境時如果是學習的目的,沒有必要追求安裝操作系統、驅動和軟件的最新版本。一是最新版本可能會有坑要填,二則學習他人的代碼(如Keras和Tensorflow)和最新版本可能會有兼容性問題。具體的cuda和cuDNN安裝的版本要視自己的GPU配置而定。
1. 安裝nvidia驅動
首先去Nvidia官網上查看適合你的GPU的驅動。
選擇GPU產品類型(本人用的是NVIDIA TITAN Xp),查找適合的驅動如下圖:
找到的驅動版本如下所示:
下載NVIDIA驅動安裝包(.run格式)。下載後的文件爲:
/home/bai/Downloads/NVIDIA-Linux-x86_64-410.78.run
注意:這裏的/home/bai是我機子上的路徑;你的具體文件路徑會有不同(下同)
run格式文件安裝較麻煩。
首先要禁用nouveau驅動。Nouveau是由第三方爲NVIDIA顯卡開發的一個開源3D驅動。Ubuntu默認集成了Nouveau驅動。而用戶在安裝NVIDIA官方私有驅動的時候Nouveau又成爲了阻礙。若不禁用Nouveau,安裝時總是報錯。
具體步驟如下:
nouveau禁止命令寫入文件
sudo vim /etc/modprobe.d/blacklist.conf
文件末尾添加以下語句:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
調用指令禁止nouveau
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
更新內核
sudo update-initramfs -u
重啓系統
sudo reboot
進入tty模式
ctrl + alt+ F1
關閉x server
sudo service lightdm stop
sudo init 3
切換NVIDIA安裝包指定目錄,賦予權限並進行安裝
cd ~/Downloads
mv NVIDIA-Linux-x86_64-410.78.run nvidia.run
chmod +x nvidia.run
sudo sh nvidia.run --no-opengl-files
備註:no前面是雙槓號
安裝時可能有出錯提示,不用理會,繼續安裝。
安裝成功後,在圖形界面下可以通過命令:
nvidia-settings
查看自己機器上詳細的GPU信息,本人機器的信息如下:
執行完上述後,重啓系統:
sudo reboot
2. 安裝CUDA
cuda是nvidia的編程語言平臺,想使用GPU就必須要使用cuda。 下載cuda9.0的安裝文件 。
首先選擇合適的版本。
下載安裝文件和補丁文件:
下載後的文件如下:
cuda_9.0.176_384.81_linux.run
cuda_9.0.176.1_linux.run
cuda_9.0.176.2_linux.run
cuda_9.0.176.3_linux.run
cuda_9.0.176.4_linux.run
執行如下語句,運行runfile文件:
sudo sh cuda_9.0.176_384.81_linux.run
sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
sudo sh cuda_9.0.176.4_linux.run
因爲Nvidia驅動已經安裝,這裏就不要選擇安裝Nvidia驅動。其餘的都直接默認或者選擇是即可。 使用:
sudo gedit /etc/profile
打開profile文件,在末尾處添加(注意不要有空格,不然會報錯):
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
重啓電腦:
sudo reboot
測試cuda的Samples
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果顯示的是有關GPU的信息,則說明安裝成功了。
測試cuda也可以通過命令:nvcc -V
查看。輸出如下圖所示:
3. 安裝cuDNN
去官網下載與CUDA 9.0搭配的cudnn版本。下載cudnn需要註冊一個NIVDIA賬號。
https://developer.nvidia.com/rdp/cudnn-download
官方已經給出了cuda與cudnn搭配的建議。
我下載的是 cuDNN v7.4.2。在下圖所示選擇cuDNN Library for Linux,下載cudnn-9.0-linux-x64-v7.4.2.24.tgz
解壓:
tar -xvf cudnn-9.0-linux-x64-v7.4.2.24.tgz
拷貝相關的庫文件:
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
刪除文件原來的軟鏈接:
cd /usr/local/cuda/lib64
sudo rm libcudnn.so libcudnn.so.7 //刪除原來的鏈接
sudo ln -s libcudnn.so.7.4.2 libcudnn.so.7 //生成新的鏈接
sudo ln -s libcudnn.so.7 libcudnn.so
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo ldconfig
4. 安裝Anaconda
Anaconda 是一個用於科學計算的 Python 發行版,支持 Linux, Mac, Windows, 包含了衆多流行的科學計算、數據分析的 Python 包。
先去官方地址下載好對應的安裝包 Ubuntu - anaconda
然後安裝anaconda
bash ~/Downloads/Anaconda2-5.3.1-Linux-x86_64.sh
anaconda會自動將環境變量添加到PATH裏面,如果後面你發現輸出conda提示沒有該命令,那麼你需要執行命令source ~/.bashrc
更新環境變量,就可以正常使用了。 如果發現這樣還是沒用,那麼需要添加環境變量。 編輯~/.bashrc 文件,在最後面加上
export PATH=/home/bai/anaconda2/bin:$PATH
保存退出後執行:source ~/.bashrc 再次輸入conda list測試看看,應該沒有問題!
anaconda國內鏡像配置
清華TUNA提供了 Anaconda 倉庫的鏡像,運行以下命令:
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 --set show_channel_urls yes
即可添加 Anaconda Python 免費倉庫。
5. 使用Anaconda安裝 TensorFlow
創建tensorflow環境,環境名字可自己確定,這裏本人使用tfgpu作爲環境名:
conda create -n tfgpu python=3.6
備註:python的版本可自己選擇。這裏的python是安裝在tfgpu環境下,不是Ubuntu自帶的Python 2.7。
安裝成功後激活tfgpu環境:
source activate tfgpu
在所創建的tfgpu環境下安裝tensorflow的gpu版本, 執行命令:
conda install --channel https://conda.anaconda.org/anaconda tensorflow-gpu=1.9.0
備註:所安裝的tensorflow-gpu版本號可自己確定,這裏本人安裝的是1.9.0。
6. 使用Anaconda安裝jupyter notebook和spyder
如果tfgpu環境沒有激活,運行下面的命令來啓用TensorFlow 環境,
source activate tfgpu
運行下面的命令conda install ipython
以及conda install jupyter
安裝jupyter notebook。
執行命令jupyter notebook
,打開一個新的Jupyter Notebook,輸入一行import tensorflow as tf
並運行,如果沒有出現任何錯誤,那麼就安裝成功了。
爲了使用TensorFlow,需要在tfgpu環境下安裝spyder:
conda install spyder
注意: 這裏安裝的jupyter notebook和spyder是安裝在tfgpu環境下,不是Anaconda自帶的jupyter notebook和spyder,這樣它們才能使用TensorFlow。每次使用時,需要先激活tfgpu環境。
7. 安裝缺少的數值計算和數據分析相關包
在tfgpu環境下安裝Anaconda沒有安裝的數值計算和數據分析相關包。這部分的安裝根據所要開發的任務需要來安裝,例如:
conda install keras
conda install matplotlib
conda install scikit-learn
conda install h5py
conda install pillow
conda install -c menpo opencv3
conda install seaborn
此時,開發環境搭建完畢。開發中需要升級時可自行更新版本,如keras的版本等。
有關基於深度學習的計算機視覺技術的學習,可參考課程《基於深度學習的計算機視覺:原理與實踐》。