1. 程式人生 > >Ubuntu16.04系統GPU深度學習環境搭建

Ubuntu16.04系統GPU深度學習環境搭建

安裝Ubuntu16.04.5系統

安裝過程就不詳述了。

安裝NVIDIA1080Ti顯示卡驅動

ll /etc/modprobe.d/blacklist.conf

sudo chmod 666 /etc/modprobe.d/blacklist.conf

sudo vi /etc/modprobe.d/blacklist.conf
在最後一行加上:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
儲存退出

sudo chmod 644 /etc/modprobe.d/blacklist.conf

sudo update-initramfs –u
然後重啟

重啟之後:
lsmod | grep nouveau

sudo apt-get purge nvidia*

sudo add-apt-repository ppa:graphics-driversa

sudo apt-get update

sudo apt-get install nvidia-384 nvidia-settings

注意:因為如果安裝成功後,重啟會出現迴圈登入的問題,這時需要解除安裝NVIDIA驅動即可
解決,但是因為需要用到這個驅動,所以不能解除安裝,所以這個問題不能解決,只能通ssh遠端連線伺服器操作,所以需要開啟ssh服務。

開啟SSH服務:
sudo apt-get install openssh-server

sudo service ssh start

sudo vi /etc/ssh/sshd_config
找到:PermitRootLogin prohibit-password
改為:PermitRootLogin yes
儲存退出。

sudo service ssh restart

然後用ssh工具遠端連上伺服器之後(記住賬號和密碼)

重啟電腦

nvidia-smi

檢視生效的顯示卡驅動:

在這裡插入圖片描述
則成功。

安裝前說明
1.前提是機器上必須有Nvidia顯示卡,不太老就好(配置不好的也沒必要玩這個了吧,費
電),在Nvidia官網可以在這裡查到顯示卡支援情況安裝過程中的命令都需要root身份,請用su root切換或者每次加 sudo,編譯執行測試程式碼使用普通使用者就好。
2.必須按tensorflow 官網提示的版本安裝 1.9 對應 CUDA 9.0,CUDA 9.0 要下載相應版本的7.0cuDNN。
3.如果喜歡折騰,建議使用沒有重要資料的硬碟。
4.安裝包最好下載到其他電腦上,使用scp拷貝到安裝機上,重灌了幾ubuntu,下一次包就2個G
原因:安裝前提必須是Nvidia顯示卡

安裝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

如果沒有賬號密碼就先註冊。
在這裡插入圖片描述
然後:

在這裡插入圖片描述
下載。
然後,將這兩個檔案拷貝到/home/erc/下載/目錄下,然後切換到這個路徑下
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
如果出現:
在這裡插入圖片描述
就執行:
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
然後在執行:
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb

sudo apt-get update

sudo apt-get install cuda

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local-cublas-performance-update-2_1.0-1_amd64.deb

sudo apt-get update

sudo apt-get upgrade cuda

然後設定環境變數:

Vi ~/.bashrc
在末尾新增:
export PATH=/usr/local/cuda/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: …LIBRARY_PATH:+:{LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

儲存後,執行 source ~/.bashrc 使其生效。

安裝cuDNN

進入https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.3.0/prod/9.0_2018920/cudnn-9.0-linux-x64-v7.3.0.29,選擇Download cuDNN v7.3.0 (Sept 19, 2018), for CUDA 9.0的cuDNN v7.3.0 Library for Linux。
然後將cudnn-9.0-linux-x64-v7.3.0.29.tgz傳輸到/usr/local/cuda-9.0目錄下
tar -zxvf cudnn-9.0-linux-x64-v7.3.0.29.tgz

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d

cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery

make

./ deviceQuery
出現:
在這裡插入圖片描述
表示安裝成功。

提醒
cuda安裝時會將原始檔裝在/usr/local/cuda-9.0下,然後會建立一個/usr/local/cuda的鏈
接,所以在安裝tensorflow設定cuda和cudnn路徑以及拷貝cudnn檔案到cuda資料夾下時,注意使用真實的路徑。

sudo apt-get update

可能出現問題:

問題1:

Failed to fetch http://……
解決:
如果無法連線到某網路,一般是由於直接使用國外的源無法連線的原因導致的。解決方案是,直接替換成國內的源即可。
參考http://blog.csdn.net/paincupid/article/details/52895676,可以使用阿里的源,速度較快。

問題2:

Could not get lock /var/lib/dpkg/lock
解決:
導致此問題的原因是由於上次更新沒有正常進行導致的。解決方案是,直接將lock的檔案刪掉。
參考:http://www.linuxidc.com/Linux/2014-06/103437.htm
sudo rm /var/lib/dpkg/lock

問題3:

Ubuntu 16.04出現:Problem executing scripts APT::Update::Post-Invoke-Success ‘if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi’
解決:
http://www.cnblogs.com/EasonJim/p/7343892.html

以上深度學習環境安裝:
也可參考:https://blog.csdn.net/weixin_40294256/article/details/79157838

python庫的安裝

wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

tar -xvzf Python-3.7.0.tgz

cd Python-3.7.0

./configure --with-ssl

make

sudo make install

sudo pip install tensorflow-gpu==1.9

sudo pip install niftynet

sudo pip install numpy

sudo pip install scikit-image

sudo pip install pydicom

sudo pip install dicom2nifti

sudo pip install nibabel

最終環境

Ubuntu16.04.5
NVIDIA1080Ti顯示卡驅動
CUDA9.0
cuDNN7.0
python3.7.0