安裝平臺(tái)
1
平臺(tái)
目前TensorFlow已支持Mac、Ubuntu和Windows三個(gè)主流平臺(tái)(64位平臺(tái)),
2
在安裝時(shí)可以選擇安裝版本是否支持GPU,
3
二進(jìn)制安裝 vs 源碼安裝
同時(shí),安裝時(shí)可以考慮采用二進(jìn)制安裝,還是源碼安裝,
4
二進(jìn)制安裝
二進(jìn)制安裝可以有很多選擇,
5
實(shí)際使用選擇
手頭上有兩臺(tái)電腦,
MacBook Pro (Retina, 13-inch, Early 2015)
內(nèi)存:8GB 1867MHz DDR3
顯卡:Intel Iris Graphics 6100 1536MB
攀升兄弟組裝臺(tái)式機(jī)
處理器:英特爾 Core i7-6700 @3.40GHz 四核
主板:華碩 B150M-ET M2 SERIES
內(nèi)存:8G(威剛DDR4 2801MHz)
硬盤(pán):三星 MZ7TE256HMHP-00000(256GB/固態(tài)硬盤(pán))
顯卡:Nvidia GeForce GTX 950(2GB)
其中,
MacBook Pro采用基于Anaconda的二進(jìn)制安裝方式(僅支持CPU)。Anaconda是一個(gè)集成平臺(tái),包含大多數(shù)機(jī)器學(xué)習(xí)的常用工具,
NumPy:科學(xué)運(yùn)算包
SciPy:在NumPy的基礎(chǔ)上構(gòu)建,功能更加強(qiáng)大的科學(xué)計(jì)算包
Matplotlib:類(lèi)似Matlab的繪圖工具包
Scikit-learn:經(jīng)典機(jī)器學(xué)習(xí)工具包
Pandas:數(shù)據(jù)處理和分析工具包(可用于數(shù)據(jù)讀寫(xiě)、清洗、填充和分析等場(chǎng)景)
采用Anaconda安裝方案,一方面MacBook Pro的開(kāi)發(fā)環(huán)境很容易搭建(幾句命令即可完成),另一方面,基于Anaconda的環(huán)境,也可以方便驗(yàn)證簡(jiǎn)單的機(jī)器學(xué)習(xí)算法。
對(duì)于臺(tái)式機(jī)則采用了Ubuntu+GPU+TensorFlow源碼編譯的方式,進(jìn)行TensorFlow環(huán)境搭建,下面我們著重介紹下這種安裝方式。
Ubuntu16.04+TensorFlow(GPU)源碼編譯
1
Ubuntu系統(tǒng)安裝
目前,大多數(shù)計(jì)算機(jī),包括臺(tái)式機(jī)已沒(méi)有了光驅(qū),同時(shí),Ubuntu的系統(tǒng)安裝盤(pán)也不易獲得。針對(duì)這種情況,我們可以采用U盤(pán)來(lái)進(jìn)行安裝。具體步驟可以參考:《Ubuntu 16.04 U盤(pán)安裝圖文教程》
2
禁用UEFI安全啟動(dòng)
對(duì)于華碩 B150M-ET主板,UEFI默認(rèn)是開(kāi)啟的。而UEFI開(kāi)啟會(huì)導(dǎo)致第三方驅(qū)動(dòng)安裝失?。ㄈ顼@卡驅(qū)動(dòng),這是源碼編譯安裝GPU支持的TensorFlow,遇到的第一個(gè)坑)。具體步驟可以參考:《華碩主板禁用UEFI安全啟動(dòng)》
3
安裝NVIDIA驅(qū)動(dòng)
3.1安裝方式
英偉達(dá)的顯卡驅(qū)動(dòng)有三種方式:
apt-get+系統(tǒng)設(shè)置安裝
安裝CUDA時(shí)順便安裝
參考:《Ubuntu 16.04安裝NVIDIA驅(qū)動(dòng)》
3.2安裝步驟
本文采用第一種方案:
sudo apt-get install nvidia-367
然后進(jìn)入:System Settings-》Software&Updates-》Additional Drivers-》,選擇NVIDIA Corporation[Using NVIDIA binary driver]
3.3驗(yàn)證測(cè)試
nvidia-smi #若列出GPU的信息列表,表示驅(qū)動(dòng)安裝成功
nvidia-settings #若彈出設(shè)置對(duì)話框,亦表示驅(qū)動(dòng)安裝成功
4
安裝CUDA
CUDA(Compute Unified Device Architecture),是顯卡廠商NVIDIA推出的運(yùn)算平臺(tái)??梢岳斫獬苫贕PU并行計(jì)算的應(yīng)用層接口。
CUDA8.0下載地址
安裝Cuda的時(shí)候,需要關(guān)閉X服務(wù)。
sudo service lightdm stop
這時(shí),系統(tǒng)會(huì)出現(xiàn)黑屏。此時(shí),同時(shí)按?。跜TRL + ALT + F1]三個(gè)鍵進(jìn)入命令行模式(如果不能進(jìn)入命令行模式,可以參考《alt+ctrl+F1黑屏 ,解決方案》),
然后輸入[賬號(hào)],[密碼]后登陸。
在CUDA的下載目錄運(yùn)行,
sudo sh cuda_xxx.run
要注意的是,在詢問(wèn)是否安裝“NVIDIA Accelerated Graphics Driver”可以選擇“是”,
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?
(y)es/(n)o/(q)uit: y
但在后續(xù)出現(xiàn)詢問(wèn)是否安裝“X configuration”時(shí),則需要選擇“否”,否則之前安裝的顯卡驅(qū)動(dòng)就白安裝了。
CUDA安裝結(jié)束后,則可以恢復(fù)到圖形界面模式,
sudo service lightdm start
到這里,CUDA的安裝還不算結(jié)束,需要將CUDA相關(guān)的內(nèi)容添加到系統(tǒng)環(huán)境變量中。安裝過(guò)程中Summary提示,
Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
CUDA相關(guān)的環(huán)境變量可以放在~/.bashrc中,
vi ~/.bash_profile
在其中,增加如下兩行,
export LD_LIBRARY_PATH=“$LD_LIBRARY_PATH:/usr/local/cuda- 8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64”
export CUDA_HOME=/usr/local/cuda-8.0
5
安裝cuDNN
cuDNN(CUDA Deep Neural Network)相比標(biāo)準(zhǔn)的cuda,它在一些常用的神經(jīng)網(wǎng)絡(luò)操作上進(jìn)行了性能的優(yōu)化,比如卷積,pooling,歸一化,以及激活層等等。
下載地址:https://developer.nvidia.com/rdp/cudnn-download
下載cuDNN后進(jìn)行解壓,并執(zhí)行如下命令:
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
sudo cp -d cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
6
gcc降低版本
網(wǎng)上說(shuō)cuda8.0不支持5.0以上的編譯器,因此需要降級(jí),把編譯器版本降到4.9,但我看了CUDA8.0的安裝手冊(cè)《NVIDIA CUDA INSTALLATION GUIDE FOR LINUX》,并沒(méi)有發(fā)現(xiàn)這一條,《NVIDIA CUDA INSTALLATION GUIDE FOR LINUX》
在實(shí)際使用中,還是將GCC做了降級(jí)(PS,在安裝時(shí)可以先不降級(jí),看看是否會(huì)出問(wèn)題),GCC降級(jí)方法如下,
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-5 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++-5 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++
7
安裝Bazel
Bazel是一個(gè)構(gòu)建工具,即一個(gè)可以運(yùn)行編譯和測(cè)試來(lái)組裝軟件的工具,跟Make、Ant、Gradle、Buck、Pants和Maven一樣。TensorFlow的編譯是基于Bazel完成的。
Bazel官方地址:https://docs.bazel.build/versions/master/install.html
7.1安裝準(zhǔn)備
7.2安裝
Bazel可以通過(guò)apt-get和下載安裝兩種方式完成,本文中,采用下載安裝的方式實(shí)現(xiàn),
chmod +x PATH_TO_INSTALL.SH
。/PATH_TO_INSTALL.SH --user
8
第三方庫(kù)安裝
sudo apt-get install python-numpy swig python-dev python-wheel
sudo apt-get install libcupti-dev
sudo apt-get install git
9
TensorFlow源碼編譯
9.1下載
git clone https://github.com/tensorflow/tensorflow
9.2編譯配置
cd ~/tensorflow
。/configure
9.3編譯安裝
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
sudo pip install /tmp/tensorflow_pkg/tensorflow-0.10.0-cp2-none-any.whl
至此,便完成了支持GPU的TensorFlow源碼編譯。
10
環(huán)境測(cè)試
可以通過(guò)如下代碼進(jìn)行測(cè)試,
# Python
import tensorflow as tf
hello = tf.constant(‘Hello, TensorFlow!’)
sess = tf.Session()
print(sess.run(hello))
正常測(cè)試輸出,
Hello, TensorFlow!
編輯:jq
-
gpu
+關(guān)注
關(guān)注
28文章
4760瀏覽量
129135 -
Mac
+關(guān)注
關(guān)注
0文章
1108瀏覽量
51563 -
源碼
+關(guān)注
關(guān)注
8文章
649瀏覽量
29312
原文標(biāo)題:干貨|TensorFlow開(kāi)發(fā)環(huán)境搭建(Ubuntu16.04+GPU+TensorFlow源碼編譯)
文章出處:【微信號(hào):gh_f39db674fbfd,微信公眾號(hào):尖刀視】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論