<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          干貨|TensorFlow開(kāi)發(fā)環(huán)境搭建(Ubuntu16.04+GPU+TensorFlow源碼編譯)

          共 5013字,需瀏覽 11分鐘

           ·

          2021-07-31 12:15

          點(diǎn)擊下方卡片,關(guān)注“新機(jī)器視覺(jué)”公眾號(hào)

          視覺(jué)/圖像重磅干貨,第一時(shí)間送達(dá)

          本文轉(zhuǎn)自|機(jī)器學(xué)習(xí)算法工程師

          安裝平臺(tái)



          1

          平臺(tái)


           目前TensorFlow已支持Mac、Ubuntu和Windows三個(gè)主流平臺(tái)(64位平臺(tái)),


          2

          GPU vs CPU


          在安裝時(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) 
            處理器:2.7 GHz Intel Core i5
            內(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í)順便安裝

          • 官方下載最新驅(qū)動(dòng)并安裝 

          參考:《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),是顯卡廠商N(yùn)VIDIA推出的運(yùn)算平臺(tái)。可以理解成基于GPU并行計(jì)算的應(yīng)用層接口。 

          CUDA8.0下載地址 


          安裝Cuda的時(shí)候,需要關(guān)閉X服務(wù)。

          sudo service lightdm stop


          這時(shí),系統(tǒng)會(huì)出現(xiàn)黑屏。此時(shí),同時(shí)按住[CTRL + ALT + F1]三個(gè)鍵進(jìn)入命令行模式(如果不能進(jìn)入命令行模式,可以參考《alt+ctrl+F1黑屏 ,解決方案》), 

          然后輸入[賬號(hào)],[密碼]后登陸。 


          在CUDA的下載目錄運(yùn)行,

          sudo sh cuda_xxx.run


          要注意的是,在詢(xún)問(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)詢(xú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 --us
          er


          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!




          參考資料




          《Ubuntu 16.04 U盤(pán)安裝圖文教程》 
          《華碩主板禁用UEFI安全啟動(dòng)》 
          《Ubuntu 16.04安裝NVIDIA驅(qū)動(dòng)》 
          《alt+ctrl+F1黑屏 ,解決方案》 
          《Ubuntu16.04 下安裝GPU版TensorFlow(包括Cuda和Cudnn)》 
          《ubuntu16.04下安裝TensorFlow(GPU加速)》

          —版權(quán)聲明—

          僅用于學(xué)術(shù)分享,版權(quán)屬于原作者。

          若有侵權(quán),請(qǐng)聯(lián)系微信號(hào):yiyang-sy 刪除或修改!


          —THE END—
          瀏覽 14
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩一级精品无码毛片 | 性少妇暴力猛交69HD | 桃乃木香奈中文字幕 | 色男人色天堂 | 大鸡巴国产 |