<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源碼編譯)

          共 5532字,需瀏覽 12分鐘

           ·

          2021-08-01 12:25

          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(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ì)話(huà)框,亦表示驅(qū)動(dòng)安裝成功

          4



          安裝CUDA


          CUDA(Compute Unified Device Architecture),是顯卡廠商N(yùn)VIDIA推出的運(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í)按住[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加速)》



          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 30
          點(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>
                  亚洲精品欧美精品 | 女人一级片看片 | 91偷拍网址 | 黄色电影第一页 | 狠狠久久免费电影 |