本教程由深度學習中文社區(Studydl.com)持續發佈與更新.
在深度學習大行其道的今天,我們不應該停留於觀望的階段,我們應該多多上手進行實踐,下面將為大家介紹一下最簡單也是最基礎的內容,配置一個自己的深度學習服務器.
1. 安裝Ubuntu系統: Ubuntu16.04 或者 Ubuntu17.04
從Ubuntu官方直接下載Ubuntu鏡像(Ubuntu16.04或者Ubuntu17.04,採用的是desktop amd64版本),用U盤和Ubuntu鏡像製作安裝盤。在MAC下製作 Ubuntu USB 安裝盤的方法可參考: 在MAC下使用ISO製作Linux的安裝USB盤,之後通過Bios引導U盤啟動安裝Ubuntu系統。如果安裝的時候出現類似黑屏或者類似 "nouveau ... fifo ..."之類的報錯信息,重啟電腦,進入安裝界面時候長按e,進入圖形界面,按F6,選擇 nomodeset 或者手動添加,進行Ubuntu系統的安裝。
2. Source源和Pip源設置:
系統安裝完畢後建議設置一下source源和pip源,這樣可以加速安裝相關的工具包。
cd /etc/apt/ sudo cp sources.list sources.list.bak sudo vi sources.list
對於Ubuntu16.04,我用的是阿里雲的源.
對於Ubuntu17.04,我使用的是網易的源.
最後更新一下:
sudo apt-get update
sudo apt-get upgrade
另外一個事情是將pip源指向阿里雲的源鏡像:http://mirrors.aliyun.com/help/pypi,具體添加一個 ~/.config/pip/pip.conf 文件,設置為:
[global] trusted-host = mirrors.aliyun.com index-url = http://mirrors.aliyun.com/pypi/simple
或者清華的pip源,剛好安裝的那兩天清華的pip源抽風,所以就換阿里雲的了。
3. 安裝1080TI顯卡驅動:
sudo apt-get purge nvidia* sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update && sudo apt-get install nvidia-384 nvidia-settings
安裝完畢後重啟機器,運行 nvidia-smi,看看生效的顯卡驅動:
4. 安裝CUDA:
因為Tensorflow和Pytorch目前官方提供的PIP版本只支持CUDA8, 所以我選擇了安裝CUDA8.0。不過目前英文達官方網站的 CUDA-TOOLKIT頁面默認提供的是CUDA9.0的下載,所以需要在英文達官方提供的另一個 CUDA Toolkit Archive 頁面選擇CUDA8,這個頁面包含了CUDA所有的歷史版本和當前的CUDA9.0版本。點擊 CUDA Toolkit 8.0 GA2 (Feb 2017) 這個頁面,選擇"cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb" 和 "cuBLAS Patch Update to CUDA 8":
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
如果之前沒有安裝上述"cuBLAS Patch Update to CUDA 8",可以用如下方式安裝更新:
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get upgrade cuda
在 ~/.bashrc 中設置環境變量:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/usr/local/cuda
運行 source ~/.bashrc 使其生效
4. 安裝cuDNN:
cuDNN7.0 雖然出來了,但是 CUDA8 的最佳拍檔依然是cuDNN6.0,在NIVIDA開發者官網上,找到cudnn的下載頁面: https://developer.nvidia.com/rdp/cudnn-download ,選擇"Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0" 中的 "cuDNN v6.0 Library for Linux":
下載後安裝非常簡單,就是解壓然後拷貝到相應的系統CUDA路徑下,注意最後一行拷貝時 "-d"不能少, 否則會提示.so不是symbol link:
tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
以上是安裝均在Ubunt16.04和Ubuntu17.04環境下測試通過,最後鑑於最近一些相關文章評論有同學留言無法從官方下載CUDA和cuDNN,親測可能與國內環境有關,我將cuda8.0, cuda9.0, cudnn6.0, cudnn7.0的相關工具包上傳到了百度網盤,提供兩個下載地址:
CUDA8.0 & CUDA9.0下載地址:鏈接: https://pan.baidu.com/s/1gfaS4lt 密碼 ddji ,包括:
1) CUDA8.0 for Ubuntu16.04: cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
2) CUDA8.0 for Ubuntu16.04 更新: cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64
3) CUDA9.0 for Ubuntu16.04: cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
4) CUDA9.0 for Ubuntu17.04: cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64
cuDNN6.0 & cuDNN7.0下載地址:鏈接: https://pan.baidu.com/s/1qXIZqpA 密碼 cwch ,包括:
1) cudnn6.0 for CUDA8: cudnn-8.0-linux-x64-v6.0.tgz
2) cudnn7.0 for CUDA8: cudnn-8.0-linux-x64-v7.tgz
3) cudnn7.0 for CUDA9: cudnn-9.0-linux-x64-v7.tgz
以下是相關深度學習工具包的安裝,包括Tensorflow, PyTorch, Torch等:
1. TensorFlow:
首先安裝libcupti-dev
sudo apt-get install libcupti-dev
然後用 virtualenv 方式安裝 Tensorflow(當前是1.4版本)
sudo apt-get install python-pip python-dev python-virtualenv mkdir tensorflow cd tensorflow virtualenv --system-site-packages venv source venv/bin/activate pip install --upgrade tensorflow-gpu
測試GPU:
Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) ... 2017-10-24 20:37:24.290049: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 0 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate (GHz) 1.6575 pciBusID 0000:01:00.0 Total memory: 10.91GiB Free memory: 10.52GiB ... 2017-10-24 20:37:24.387363: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 1 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate (GHz) 1.6575 pciBusID 0000:02:00.0 Total memory: 10.91GiB Free memory: 10.76GiB 2017-10-24 20:37:24.388168: I tensorflow/core/common_runtime/gpu/gpu_device.cc:976] DMA: 0 1 2017-10-24 20:37:24.388176: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 0: Y Y 2017-10-24 20:37:24.388179: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 1: Y Y 2017-10-24 20:37:24.388186: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0) 2017-10-24 20:37:24.388189: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:02:00.0) Device mapping: /job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0 /job:localhost/replica:0/task:0/gpu:1 -> device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:02:00.0 2017-10-24 20:37:24.449867: I tensorflow/core/common_runtime/direct_session.cc:300] Device mapping: /job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0 /job:localhost/replica:0/task:0/gpu:1 -> device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:02:00.0 >>>
2. PyTorch:
首先在PyTorch的官網下載對應的pip安裝文件:
然後用virtualenv的方式安裝,非常方便:
mkdir pytorch cd pytorch/ virtualenv venv source venv/bin/activate pip install /path/to/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl pip install torchvision
3. Torch
首先按照Torch官方的方法進行安裝:http://torch.ch/docs/getting-started.html
git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; bash install-deps;
./install.sh
如無意外,可以順利安裝,如果遇到了如下兩個問題,可按下述方法修改:
1) 執行./install.sh時出現Moses>=1.錯誤
Missing dependencies for nn:moses >= 1.,有時候執行./install.sh時,會出現這個問題。
用這個方法解決:
sudo apt install luarocks sudo luarocks install moses
2) install.sh 過程中提示“error -- unsupported GNU version! gcc versions later than 5 are not supported!”
ubuntu17.04自帶gcc 6.x 版本,所以降級安裝gcc 4.9版本解決問題:
sudo apt-get install g++-4.9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
成功執行安裝腳本後後提示:
Do you want to automatically prepend the Torch install location
to PATH and LD_LIBRARY_PATH in your /home/yourpath/.bashrc? (yes/no)
[yes] >>>
yes
安裝腳本會自動將torch的安裝路徑寫入到 .bashrc裡,然後輸入 th試試:
如果你想用Lua5.2替代LuaJIT的方式安裝Torch(If you want to install torch with Lua 5.2 instead of LuaJIT, simply run),可按如下方式安裝:
git clone https://github.com/torch/distro.git torch --recursive cd torch # clean old torch installation ./clean.sh
在 ~/.bashrec中設置lua的環境:
TORCH_LUA_VERSION=LUA52
並執行 source ~/.bashrc, 然後運行:
./install.sh
遇到第一個問題:
cmake: not found
安裝cmake解決:
sudo apt-get install cmake
第二個問題:
readline.c:8:31: fatal error: readline/readline.h: 沒有那個文件或目錄
安裝libreadine-dev解決:
sudo apt-get install libreadline-dev
第三個問題:安裝過程依然提示“error -- unsupported GNU version! gcc versions later than 5 are not supported!”
ubuntu17.04自帶gcc 6.x 版本,所以降級安裝gcc 4.9版本解決問題:
sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
安裝完畢依然會提示:
Not updating your shell profile.
You might want to
add the following lines to your shell profile:
. /home/textminer/torch/torch/install/bin/torch-activate
在 ~/.profile 文件末尾加上這行 ". /home/textminer/torch/torch/install/bin/torch-activate " 並執行 source ~/.profile,然後輸入 th試試。
更多TensorFlow入門教程點擊文末了解更多按鈕
閱讀更多 深度學習中文社區 的文章