版本問題---Bazel與tensorflow的對應關系


 

源碼安裝tf的時候,會用到Bazel,版本不對應,后面會引起好多麻煩。

echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update 

sudo apt
-get install bazel

這種安裝方式,會把bazel更新到最新的版本,但是編譯tensorflow的時候,不同tensorflow要與bazel的版本是對應的,如果這么做的話,后面的操作就會出錯,可能還不知道怎么解決。

 

正確的做法應該是下載對應的版本來安裝bazel,tensorflow與bazel的版本應該在tensorflow的官網查找:https://tensorflow.google.cn/install/source

linux下tensorflow與python、GCC、Bazel的版本關系,GCC一般支持C++11就可以,但bazel就真的還是要對應好版本,不然一大堆問題,會掉進坑里各種折騰。

Bazel 編譯選項

從源代碼編譯 TensorFlow 可能會消耗大量內存。如果系統內存有限,請使用以下命令限制 Bazel 的內存消耗量:--local_ram_resources=2048。

官方 TensorFlow 軟件包是使用 GCC 4 編譯的,並使用舊版 ABI。對於 GCC 5 及更高版本,為了使您的編譯系統與舊版 ABI 兼容,請使用 --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"。兼容 ABI 可確保針對官方 TensorFlow pip 軟件包編譯的自定義操作繼續支持使用 GCC 5 編譯的軟件包。
編譯軟件包

bazel build 命令會創建一個名為 build_pip_package 的可執行文件,此文件是用於編譯 pip 軟件包的程序。請如下所示地運行該可執行文件,以在 /tmp/tensorflow_pkg 目錄中編譯 .whl 軟件包。

要從某個版本分支編譯,請使用以下目錄:

    ./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
    

要從 master 編譯,請使用 --nightly_flag 獲取正確的依賴項:

    ./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg
    

盡管可以在同一個源代碼樹下編譯 CUDA 和非 CUDA 配置,但建議您在同一個源代碼樹中的這兩種配置之間切換時運行 bazel clean。
安裝軟件包

生成的 .whl 文件的文件名取決於 TensorFlow 版本和您的平台。例如,使用 pip install 安裝軟件包:

    pip install /tmp/tensorflow_pkg/tensorflow-version-tags.whl

經過測試的構建配置

Linux

版本 Python 版本 編譯器 編譯工具
tensorflow-1.13.1 2.7、3.3-3.6 GCC 4.8 Bazel 0.19.2
tensorflow-1.12.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0
tensorflow-1.11.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0
tensorflow-1.10.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0
tensorflow-1.9.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.11.0
tensorflow-1.8.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.10.0
tensorflow-1.7.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.10.0
tensorflow-1.6.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.9.0
tensorflow-1.5.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.8.0
tensorflow-1.4.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.5.4
tensorflow-1.3.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.5
tensorflow-1.2.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.5
tensorflow-1.1.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.2
tensorflow-1.0.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.2
版本 Python 版本 編譯器 編譯工具 cuDNN CUDA
tensorflow_gpu-1.13.1 2.7、3.3-3.6 GCC 4.8 Bazel 0.19.2 7.4 10.0
tensorflow_gpu-1.12.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.11.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.9.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.11.0 7 9
tensorflow_gpu-1.8.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.10.0 7 9
tensorflow_gpu-1.7.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.6.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.5.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.8.0 7 9
tensorflow_gpu-1.4.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.5.4 6 8
tensorflow_gpu-1.3.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.5 6 8
tensorflow_gpu-1.2.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.5 5.1 8
tensorflow_gpu-1.1.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8

macOS

CPU

版本 Python 版本 編譯器 編譯工具
tensorflow-1.13.1 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.19.2
tensorflow-1.12.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.15.0
tensorflow-1.11.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.15.0
tensorflow-1.10.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.15.0
tensorflow-1.9.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.11.0
tensorflow-1.8.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.10.1
tensorflow-1.7.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.10.1
tensorflow-1.6.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.8.1
tensorflow-1.5.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.8.1
tensorflow-1.4.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.5.4
tensorflow-1.3.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.4.5
tensorflow-1.2.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.4.5
tensorflow-1.1.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.4.2
tensorflow-1.0.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.4.2

GPU

版本 Python 版本 編譯器 編譯工具 cuDNN CUDA
tensorflow_gpu-1.1.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7、3.3-3.6 XCode 中的 Clang Bazel 0.4.2 5.1 8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM