前言
由于之前的主機存在運作docker自動重新開機的問題,跑模型沒問題,排查之後沒有發現問題所在,是以最後決定更新技嘉主機闆的bios并重新安裝系統和環境。
1 硬體環境
顯示卡:GTX1080Ti
記憶體:32G
硬碟:256G SSD+1T機械
2 安裝Ubuntu 18.04 LTS
2.1 下載下傳官方鏡像
下載下傳位址:
Download Ubuntu Desktop | Download | Ubuntu
ubuntu.com
2.2 制作USB啟動盤
使用Refus燒錄鏡像到U盤,Refus下載下傳位址:Refus。
其中,持久分區大小可不選,分區類型選擇GPT,目标系統類型選擇UEFI(需要在bios裡開啟UEFI啟動的功能),最後完成鏡像的燒錄。
2.3 安裝系統
安裝系統的步驟不在這裡贅述,其他的部落格[1]寫的很好了,在這裡提幾個關鍵點,我的磁盤分區方案是:
2G的EFI分區
32G的swap分區(和記憶體大小一樣)
剩下的ssd存儲空間分給根目錄
home挂載在機械硬碟下
之後按照步驟直到完成系統的安裝。
3 安裝顯示卡驅動
在這一步花費了大量時間,根據網上搜尋的結果,大部分部落格都是總結了顯示卡驅動安裝的三種方法:
1.使用标準Ubuntu倉庫進行自動化安裝
2.使用PPA倉庫進行自動化安裝
3.使用官方的NVIDIA驅動進行手動安裝
在嘗試這三種方法之後,使用nvidia-smi顯示連接配接不到顯示卡,重新開機機器也是直接進入指令行模式。
是以,換了另外一種方法,具體過程如下:
首先,在系統安裝完成之後不要換源,執行下面的指令去檢查軟體的更新
sudo apt-get update
之後在應用清單中打開Software & Updates,點選Additional Drivers,這個時候,官方推薦的清單就會顯示了,其實這個跟執行
ubuntu-drivers devices
是一樣的顯示效果,但是在Software & Updates中操作會更穩妥一些。
點選 Apply Changes,等待進度條走完重新開機機器就安裝完成了。執行nvidia-smi,顯示如圖,表示成功安裝顯示卡驅動。
4 安裝CUDA10.0
https://developer.nvidia.com/cuda-toolkit-archive選擇CUDA 10.0
建議下載下傳runfile,安裝指令如下:
sudo sh cuda__linux.run
在安裝過程中,
選擇是否安裝顯示卡驅動時選擇否
是否建構/usr/local/cuda軟連結時選擇是
其他選項按需選擇
安裝完成後,需要在~/.bashrc(/home/使用者名/.bashrc,.表示隐藏檔案,直接用vi打開這個檔案就行)檔案中添加如下語句
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
或者
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
建議使用第二種,因為在建構了/usr/local/cuda軟連結之後,我們在.bashrc檔案中使用該連結作為環境變量,之後隻需修改該軟連結就可以切換CUDA的版本。
5 安裝cuDNN
cuDNN的下載下傳需要比對CUDA的版本,也需要适配接下來需要安裝的TensorFlow的版本。
cuDNN的下載下傳位址:
cuDNN
developer.nvidia.com
下載下傳cuDNN需要注冊英偉達開發者賬号,在連結頁面中操作即可。
官方安裝說明:cuDNN安裝指南
其中分為兩種:
1.TAR File
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
- Debian File
sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-devel_7.0.3.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb
确定是否安裝好
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
執行完成顯示Test passed!即可
6 安裝深度學習套件
6.1 安裝anaconda
官方下載下傳位址:
Anaconda Python/R Distribution - Free Download
www.anaconda.com
圖示
安裝指令:
bash Anaconda3-5.3.0-Linux-x86_64.sh
安裝過程中詢問是否将anaconda的安裝位置寫入.bashrc選擇是。
為conda換源:
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --set show_channel_urls yes
6.2 安裝TensorFlow.
官方教程:
使用 pip 安裝 TensorFlow | TensorFlow
tensorflow.google.cn
首先,下載下傳TensorFlow的離線鏡像
建立虛拟環境
conda create -n keras pip python=3.6
激活虛拟環境
source activate keras
安裝TensorFlow
pip install --ignore-installed --upgrade packageURL
測試
import tensorflow as tf
hello = tf.constant('first tensorflow')
sess = tf.Session()
print sess.run(hello)
6.3 安裝keras
在上節的keras虛拟環境中,輸入指令:
pip install keras -U --pre
git clone
https://github.com/fchollet/keras.gitcd keras/examples/
python mnist_mlp.py
網速較差的可以去對應的git倉庫中下載下傳example運作。
7 總結
基本上,深度學習的環境算是搭建完成了,再重新安裝docker進行測試以後,運作鏡像沒有問題。寫這篇部落格的目的是為了記錄自己的安裝過程,以備後期使用。如果有寫的不合适的地方,歡迎提意見。