真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

TensorFlow源代碼編譯構(gòu)建安裝包的示例分析

這篇文章給大家分享的是有關(guān)TensorFlow源代碼編譯構(gòu)建安裝包的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、江岸網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為江岸等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

        最近公司給我們分配了2臺虛擬機(jī)服務(wù)器用于強(qiáng)化學(xué)習(xí)訓(xùn)練,我們在虛擬環(huán)境中安裝好了TensorFlow環(huán)境后,在import tensorflow時(shí)發(fā)現(xiàn)報(bào)了下面的錯(cuò)誤:
TensorFlow源代碼編譯構(gòu)建安裝包的示例分析
        于是我去Google搜索了下出現(xiàn)這個(gè)錯(cuò)誤的原因,發(fā)現(xiàn)是因?yàn)槲覀兎?wù)器的CPU不支持AVX指令集導(dǎo)致的,而使用pip安裝的TensorFlow需要依賴AVX指令集,為了確認(rèn)我們的CPU是否真的不支持AVX指令集,我使用cat /proc/cpuinfo 命令查看了下目前CPU指令集支持情況,發(fā)現(xiàn)我們的CPU果然不支持AVX指令集。
TensorFlow源代碼編譯構(gòu)建安裝包的示例分析
        又不支持又想用咋辦,后來經(jīng)過網(wǎng)上查詢了一下,我們可以自己使用TensorFlow的源代碼來編譯和構(gòu)建一個(gè)TensorFlow的版本,這樣的話就可以在不支持AVX指令集的機(jī)器上使用TensorFlow了。于是我按照官網(wǎng)https://www.tensorflow.org/install/source給出的步驟來嘗試從源碼自己編譯和構(gòu)建TensorFlow。
        在構(gòu)建TensorFlow之前,我們要先做兩件事:
      1. 下載TensorFlow的源碼
      2. 下載和安裝Bazel構(gòu)建工具

        在下載TensorFlow源碼如果網(wǎng)速比較好的話,可以直接使用下面的命令從GitHub倉庫中克隆TensorFlow代碼庫的源碼:

   
   
   git clone https://github.com/tensorflow/tensorflow.gitcd tensorflow
        如果網(wǎng)速堪憂的話,可以直接先下載zip版本,然后再傳到服務(wù)器上,我使用的是后者。  
        注意:這里的代碼庫默認(rèn)的是master開發(fā)分支。

        下載和安裝Bazel構(gòu)建工具這里我要特別說一下,一般來講,Bazel的安裝方式有2種,一種是使用Bazelisk來安裝,另外一種是手動(dòng)安裝,我使用的是后者。在官網(wǎng)中會(huì)告訴你,你可以安裝在GitHub中可以是 tensorflow/configure.py 中指定的介于 _TF_MIN_BAZEL_VERSION 和 _TF_MAX_BAZEL_VERSION 之間的任意版本,但是,  這里是一個(gè)坑。因?yàn)樵谶@里他說可以安裝3.10~3.99種的任意一個(gè)版本,于是乎我安裝了一個(gè)3.70的版本,等到真正編譯的時(shí)候,他會(huì)告訴你,這個(gè)版本不匹配,需要你安裝3.10的版本,于是只能卸載重新安裝。
        接下來我們需要按照bazel,首先要安裝一些依賴:

   
   
   apt install curl gnupg
    curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg
    mv bazel.gpg /etc/apt/trusted.gpg.d/
    echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
        接下來我們可以使用apt update && sudo apt install bazel-3.1.0命令直接安裝就好。
        到目前為止我們已經(jīng)安裝好了bazel編譯工具,也下載了TensorFlow的源碼,那么接下來就要開始準(zhǔn)備編譯和構(gòu)建TensorFlow了。
        在這之前我們還需要去安裝一些相應(yīng)的依賴,使用如下命令即可:
   
   
   pip install  six numpy wheel setuptools mock 'future>=0.17.1'
    pip install  keras_applications --no-deps
    pip install  keras_preprocessing --no-deps
 
        然后我們使用gcc --version查看下我們的gcc版本,我的是18.04自帶的7.5.0,可用。

        接下來就是真正的編譯環(huán)節(jié)了。首先我們進(jìn)入到從GitHub中下載的TensorFlow源代碼,并執(zhí)行
   
   
   ./configure
 
        這個(gè)時(shí)候會(huì)讓你去做一些配置相關(guān)的信息:
   
   
   Please specify the location of python. [Default is /root/miniconda3/envs/ray/bin/python3]:
 
        這一句是讓你輸入Python所在的位置,如果沒錯(cuò)的話直接回車,如果想修改的話就輸入你的Python所在的目錄;
   
   
   Found possible Python library paths:
    /root/miniconda3/envs/ray/lib/python3.8/site-packages
    Please input the desired Python library path to use.  Default is [/root/miniconda3/envs/ray/lib/python3.8/site-packages]
 
        這一步讓你去輸入Python library所在的位置,和上面一樣,我這里直接回車。

   
   
   Do you wish to build TensorFlow with ROCm support? [y/N]: N
        這一步是問你是不是要build一個(gè)支持ROCm的TensorFlow版本,在這里我選擇N。  

Do you wish to build TensorFlow with CUDA support? [y/N]: N
        這一步是問你是不是要build一個(gè)支持CUDA的TensorFlow版本,因?yàn)槲疫@個(gè)是要在分布式集群的CPU版本用的,這個(gè)服務(wù)器里沒用CUDA,所以我選擇N。  

Do you wish to download a fresh release of clang? (Experimental) [y/N]: N
          這一步是問你是不是希望狹隘一個(gè)clang是release版本,這里我一開始選擇的是Y,由于我網(wǎng)速不好,下載報(bào)錯(cuò),然后就選擇了N;
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native -Wno-sign-compare]:
        這一步是讓你輸入一個(gè)編譯時(shí)候的優(yōu)化器,在這里我直接用默認(rèn)的,就直接回車了;

   
   
   Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]:  N
        這一步是問你是不是需要支持Android,我這邊不需要,所以直接N,否則的話會(huì)讓你選擇你Android SDK的版本之類的;  

        當(dāng)這些都配置完成之后,就會(huì)彈出來一個(gè)你的配置信息。
TensorFlow源代碼編譯構(gòu)建安裝包的示例分析
        接下來就要真正的開始去編譯你的TensorFlow源碼了,由于我使用的是不帶CUDA的版本,所以我直接使用如下命令即可:
   
   
   bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
        編譯好會(huì)看到下面的信息:(由于我自己這塊沒有截圖,用了個(gè)網(wǎng)圖,我用老的CPU花了7500多秒)  
TensorFlow源代碼編譯構(gòu)建安裝包的示例分析
        編譯好之后,我們就可以在TensorFlow源代碼目錄輸入以下命令,來構(gòu)建最終的pip安裝包:
   
   
   ./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
        在這里,/tmp/tensorflow_pkg是我自己定義的最終安裝包輸出的位置,結(jié)束后,我們可以cd到 /tmp/tensorflow_pkg目錄中,查看里面的內(nèi)容:  
TensorFlow源代碼編譯構(gòu)建安裝包的示例分析
        可以看到,我們最終的pip安裝版本就已經(jīng)完成,接下來我們就可以在命令行里輸入下面的命令進(jìn)行安裝了:
   
   
   pip install tensorflow-2.5.0-cp38-cp38-linux_x86_64.whl
TensorFlow源代碼編譯構(gòu)建安裝包的示例分析  
        安裝完成后,我們可以試著在Python交互環(huán)境中導(dǎo)入一下TensorFlow,看看是否有報(bào)錯(cuò):
TensorFlow源代碼編譯構(gòu)建安裝包的示例分析
        我們發(fā)現(xiàn),可以正常導(dǎo)入和使用,至此,整個(gè)TensorFlow源碼的編譯、構(gòu)建以及安裝環(huán)境完成。

感謝各位的閱讀!關(guān)于“TensorFlow源代碼編譯構(gòu)建安裝包的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


當(dāng)前名稱:TensorFlow源代碼編譯構(gòu)建安裝包的示例分析
文章源于:http://weahome.cn/article/gdhodj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部