搭建实用深度学习环境(Ubuntu16.10+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0)
在動手安裝之前,首先要確定硬件,系統(tǒng),準備安裝軟件的版本,確定這些軟硬件之間是否相互支持或兼容。本文安裝的主要環(huán)境和軟件如下:
Ubuntu16.10+CUDA8.0(cudnn5.1,CNMEM)+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0
顯卡型號為Quadro K6000。
?
深度學習的另外一個比較常用的開發(fā)環(huán)境是CAFFE,由于之前的很多大牛基于CAFFE做了很多注明的模型,且已經(jīng)發(fā)布到網(wǎng)上,故這套框架更適合于應用。但CAFFE安裝起來異常復雜,需要安裝非常多的依賴庫,以及OpenCv等軟件。而且CAFFE框架比較死板,很難修改,個人認為不太適合科研。故本文不涉及CAFFE相關內容。
?
首先,感謝運維小哥幫我安裝ubuntu16.10系統(tǒng)。進入系統(tǒng)后,打開終端,開始安裝操作。注意,下面操作命令通常要加sudo,如果切換到超級用戶則不需要加。
?
1.?? 安裝編譯環(huán)境
主要是make,cmake, gcc,g++,這是linux下最基本的開發(fā)環(huán)境,有些機器是安裝好的,就不用裝了。運行每一句終端顯示都有反饋,可以根據(jù)反饋確定安裝是否成功。
sudo apt-get install build-essential
apt install cmake
?
gcc最新版本是6.2,但CUDA8.0不支持5.0以上版本,需要將版本降低到4.9,下面通過update-alternatives來進行軟件版本切換:
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/gcc?gcc?/usr/bin/gcc-6?10??
sudo?update-alternatives?--install?/usr/bin/g++?g++?/usr/bin/g++-4.9?20??
sudo?update-alternatives?--install?/usr/bin/g++?g++?/usr/bin/g++-6?10??
sudo?update-alternatives?--install?/usr/bin/cc?cc?/usr/bin/gcc?30??
sudo?update-alternatives?--set?cc?/usr/bin/gcc??
sudo?update-alternatives?--install?/usr/bin/c++?c++?/usr/bin/g++?30??
sudo?update-alternatives?--set?c++?/usr/bin/g++??
通過 gcc –v可以查詢gcc版本,確定是4.9。
?
2.?? 安裝CUDA
CUDA是Nvidia公司開發(fā)的,基于GPU的并行計算環(huán)境,幾乎是做深度學習不可或缺的工具,加速效果非常明顯。以一個基于Theano的深度模型訓練程序為例,普通i5 CPU跑一個epoch需要約80分鐘;采用GTX705顯卡(48個CUDA核心)加速,跑一個epoch需要約12分鐘;采用Quadro K6000顯卡(2880個CUDA核心)加速,跑一個epoch僅需要約2分鐘。
?
a)???? 準備工作
如果安裝了用戶界面,需要停止X server
sudo /etc/init.d/lightdm stop
sudo /etc/init.d/lightdm status
?
停止系統(tǒng)自帶驅動
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在最后加入一行blacklist nouveau保存,更新一下
sudo update-initramfs -u
重啟,通過如下命令確定nouveau被停用,如果返回值為空說明成功。
lsmod | grep nouveau
?
b)???? CUDA包安裝
下載cuda_8.0.44_linux.run,我是通過本地下載,通過ftp傳到服務器,進入其所在目錄,終端中運行:
sh cuda_8.0.44_linux.run
按提示逐步做選擇,安裝即可。如果之前沒有單獨安裝nvidia的驅動,可以直接在這里選擇安裝;如果已經(jīng)安裝,則在安裝過程中跳過,直接安裝cuda和samples。
?
安裝完成后,需要將CUDA的相關路徑加入系統(tǒng)路徑,用vim打開?~/.bashrc?文件
vim ~/.bashrc
在文件未尾,加入如下語句來使設置生效:
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
?
c)????? 測試CUDA
進入samples所在路徑,make
cd?/usr/local/cuda/samples
sudo?make?all?-j8
cd bin/x86_64/linux/release/
./deviceQuery
查詢出設備信息說明CUDA安裝成功
?
至此,基本的CUDA環(huán)境已經(jīng)完成,但還有兩個庫可以讓計算加速效果更明顯,它們是cudnn和cnmem
?
d)???? 安裝cudnn
cudnn是Nvida專門針對深度神經(jīng)網(wǎng)絡開發(fā)的加速包,一定要注意,一些低端的顯卡,如GTX580,670,705等不支持cudnn。同時也要注意,cudnn的版本要與CUDA的版本兼容。
下載cudnn-8.0-linux-x64-v5.1.solitairetheme8,解壓
cp? cudnn-8.0-linux-x64-v5.1.solitairetheme8 cudnn-8.0-linux-x64-v5.1.tgz
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
進入解壓目錄,分別復制h文件和lib文件到cuda的響應目錄,進入include目錄
sudo cp cudnn.h /usr/local/cuda/include/
再進入lib64目錄下的動態(tài)文件進行復制和鏈接:
sudo cp lib* /usr/local/cuda/lib64/
目前的Theano版本與cudnn5.0是兼容的,推薦安裝5.0版本。
?
e)???? 安裝CNMEM
進入安裝目錄
cd $mydir
git clone https://github.com/NVIDIA/cnmem.git cnmem
cd cnmem
mkdir build
cd build
cmake ..
make
cd ../include
cp cnmem.h /usr/local/cuda/include
cd ../build
cp libcnmem /usr/local/cuda/lib64
?
3.?? 安裝theano
先安裝pip,然后安裝theano,theano安裝過程中會自動安裝numpy和scipy
sudo apt install python-pip
pip install theano
?
創(chuàng)建~/.theanorc,內容如下
[global]??
floatX=float32??
device=gpu??
base_compiledir=~/external/.theano/??
allow_gc=False??
warn_float64=warn??
[mode]=FAST_RUN??
??
[nvcc]??
fastmath=True??
??
[cuda]??
root=/usr/local/cuda??
?
[lib]
cnmem=1
?
在終端中輸入python
>>> import theano
輸出正常說明安裝成功。
?
4.?? 安裝Tensorflow
如果之前沒有安裝好python,運行:
sudo apt-get install python-pip python-dev
用pip安裝tensorflow
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc1-cp27-none-linux_x86_64.whl
因為墻的原因,可能會失敗,需要多試幾次
?
測試tensorflow
在終端中輸入python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
?
5.?? 安裝Keras
Keras之前是以Theano為后臺,現(xiàn)在的新版本是以tensorflow為后臺的。所以我們要先裝好theano和tensorflow之后,最后安裝keras。
sudo pip install keras
對,就這一句話應該就搞定了。安裝完成后,在終端輸入python
from keras.models import Sequential
輸出正常說明安裝成功。
?
?
至此,一個比較實用的最新版本深度學習環(huán)境就完成了。上述這些軟件目前更新非常快,很有可能幾個月后就會出現(xiàn)更新版本。安裝過程中遇到任何問題,盡量去讀官方的安裝和說明文檔,網(wǎng)絡博客,微信上的信息都有一定時效性,包括我這一篇。
在動手安裝之前,首先要確定硬件,系統(tǒng),準備安裝軟件的版本,確定這些軟硬件之間是否相互支持或兼容。本文安裝的主要環(huán)境和軟件如下:
Ubuntu16.10+CUDA8.0(cudnn5.1,CNMEM)+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0
顯卡型號為Quadro K6000。
?
深度學習的另外一個比較常用的開發(fā)環(huán)境是CAFFE,由于之前的很多大牛基于CAFFE做了很多注明的模型,且已經(jīng)發(fā)布到網(wǎng)上,故這套框架更適合于應用。但CAFFE安裝起來異常復雜,需要安裝非常多的依賴庫,以及OpenCv等軟件。而且CAFFE框架比較死板,很難修改,個人認為不太適合科研。故本文不涉及CAFFE相關內容。
?
首先,感謝運維小哥幫我安裝ubuntu16.10系統(tǒng)。進入系統(tǒng)后,打開終端,開始安裝操作。注意,下面操作命令通常要加sudo,如果切換到超級用戶則不需要加。
?
1.?? 安裝編譯環(huán)境
主要是make,cmake, gcc,g++,這是linux下最基本的開發(fā)環(huán)境,有些機器是安裝好的,就不用裝了。運行每一句終端顯示都有反饋,可以根據(jù)反饋確定安裝是否成功。
sudo apt-get install build-essential
apt install cmake
?
gcc最新版本是6.2,但CUDA8.0不支持5.0以上版本,需要將版本降低到4.9,下面通過update-alternatives來進行軟件版本切換:
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/gcc?gcc?/usr/bin/gcc-6?10??
sudo?update-alternatives?--install?/usr/bin/g++?g++?/usr/bin/g++-4.9?20??
sudo?update-alternatives?--install?/usr/bin/g++?g++?/usr/bin/g++-6?10??
sudo?update-alternatives?--install?/usr/bin/cc?cc?/usr/bin/gcc?30??
sudo?update-alternatives?--set?cc?/usr/bin/gcc??
sudo?update-alternatives?--install?/usr/bin/c++?c++?/usr/bin/g++?30??
sudo?update-alternatives?--set?c++?/usr/bin/g++??
通過 gcc –v可以查詢gcc版本,確定是4.9。
?
2.?? 安裝CUDA
CUDA是Nvidia公司開發(fā)的,基于GPU的并行計算環(huán)境,幾乎是做深度學習不可或缺的工具,加速效果非常明顯。以一個基于Theano的深度模型訓練程序為例,普通i5 CPU跑一個epoch需要約80分鐘;采用GTX705顯卡(48個CUDA核心)加速,跑一個epoch需要約12分鐘;采用Quadro K6000顯卡(2880個CUDA核心)加速,跑一個epoch僅需要約2分鐘。
?
a)???? 準備工作
如果安裝了用戶界面,需要停止X server
sudo /etc/init.d/lightdm stop
sudo /etc/init.d/lightdm status
?
停止系統(tǒng)自帶驅動
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在最后加入一行blacklist nouveau保存,更新一下
sudo update-initramfs -u
重啟,通過如下命令確定nouveau被停用,如果返回值為空說明成功。
lsmod | grep nouveau
?
b)???? CUDA包安裝
下載cuda_8.0.44_linux.run,我是通過本地下載,通過ftp傳到服務器,進入其所在目錄,終端中運行:
sh cuda_8.0.44_linux.run
按提示逐步做選擇,安裝即可。如果之前沒有單獨安裝nvidia的驅動,可以直接在這里選擇安裝;如果已經(jīng)安裝,則在安裝過程中跳過,直接安裝cuda和samples。
?
安裝完成后,需要將CUDA的相關路徑加入系統(tǒng)路徑,用vim打開?~/.bashrc?文件
vim ~/.bashrc
在文件未尾,加入如下語句來使設置生效:
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
?
c)????? 測試CUDA
進入samples所在路徑,make
cd?/usr/local/cuda/samples
sudo?make?all?-j8
cd bin/x86_64/linux/release/
./deviceQuery
查詢出設備信息說明CUDA安裝成功
?
至此,基本的CUDA環(huán)境已經(jīng)完成,但還有兩個庫可以讓計算加速效果更明顯,它們是cudnn和cnmem
?
d)???? 安裝cudnn
cudnn是Nvida專門針對深度神經(jīng)網(wǎng)絡開發(fā)的加速包,一定要注意,一些低端的顯卡,如GTX580,670,705等不支持cudnn。同時也要注意,cudnn的版本要與CUDA的版本兼容。
下載cudnn-8.0-linux-x64-v5.1.solitairetheme8,解壓
cp? cudnn-8.0-linux-x64-v5.1.solitairetheme8 cudnn-8.0-linux-x64-v5.1.tgz
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
進入解壓目錄,分別復制h文件和lib文件到cuda的響應目錄,進入include目錄
sudo cp cudnn.h /usr/local/cuda/include/
再進入lib64目錄下的動態(tài)文件進行復制和鏈接:
sudo cp lib* /usr/local/cuda/lib64/
目前的Theano版本與cudnn5.0是兼容的,推薦安裝5.0版本。
?
e)???? 安裝CNMEM
進入安裝目錄
cd $mydir
git clone https://github.com/NVIDIA/cnmem.git cnmem
cd cnmem
mkdir build
cd build
cmake ..
make
cd ../include
cp cnmem.h /usr/local/cuda/include
cd ../build
cp libcnmem /usr/local/cuda/lib64
?
3.?? 安裝theano
先安裝pip,然后安裝theano,theano安裝過程中會自動安裝numpy和scipy
sudo apt install python-pip
pip install theano
?
創(chuàng)建~/.theanorc,內容如下
[global]??
floatX=float32??
device=gpu??
base_compiledir=~/external/.theano/??
allow_gc=False??
warn_float64=warn??
[mode]=FAST_RUN??
??
[nvcc]??
fastmath=True??
??
[cuda]??
root=/usr/local/cuda??
?
[lib]
cnmem=1
?
在終端中輸入python
>>> import theano
輸出正常說明安裝成功。
?
4.?? 安裝Tensorflow
如果之前沒有安裝好python,運行:
sudo apt-get install python-pip python-dev
用pip安裝tensorflow
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc1-cp27-none-linux_x86_64.whl
因為墻的原因,可能會失敗,需要多試幾次
?
測試tensorflow
在終端中輸入python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
?
5.?? 安裝Keras
Keras之前是以Theano為后臺,現(xiàn)在的新版本是以tensorflow為后臺的。所以我們要先裝好theano和tensorflow之后,最后安裝keras。
sudo pip install keras
對,就這一句話應該就搞定了。安裝完成后,在終端輸入python
from keras.models import Sequential
輸出正常說明安裝成功。
?
至此,一個比較實用的最新版本深度學習環(huán)境就完成了。上述這些軟件目前更新非常快,很有可能幾個月后就會出現(xiàn)更新版本。安裝過程中遇到任何問題,盡量去讀官方的安裝和說明文檔,網(wǎng)絡博客,微信上的信息都有一定時效性,包括我這一篇。
轉載于:https://www.cnblogs.com/dataman/p/6285634.html
總結
以上是生活随笔為你收集整理的搭建实用深度学习环境(Ubuntu16.10+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj 3924 幻想乡战略游戏
- 下一篇: 梦到亲戚来我家做客是什么意思