【深度學習】TensorFlow版本概述
阿新 • • 發佈:2018-12-15
目錄
AVX指令集
AVX指令集是一種較新的指令集,可以加速TensorFlow任務的執行速度。TensorFlow從version 1.6 開始預設從AVX編譯二進位制檔案,所以現在通過pip install tensorflow
預設安裝支援AVX的TensorFlow版本。
問題
今天恰好為一臺老機器(core-i3)安裝TensorFlow cpu版本,安裝完成之後,執行示例程式提示錯誤:
The TensorFlow library was compiled to use AVX instructions, but these aren't available on your machine.
即此cpu不支援AVX指令集。
上網搜尋問題答案,恰恰搜尋出的結果都是:你的機器支援AVX指令集,但安裝的TensorFlow未使用AVX。如何消除一大堆執行時的警告?這裡也搬運一下警告的解決方法:
# 程式開始時新增
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
這裡為使用老機器的玩家們提供解決不使用AVX指令集的方法方法!!!
解決
安裝TensorFlow 1.5及之前的版本即可。
pip install tensorflow==1.5.0
CUDA和cuDNN對照表
對於TensorFlow-gpu版需要CUDA和cuDNN這兩個工具,安裝的時候版本如果未對應,執行時將會出現錯誤。
下面給出TensorFlow 1.11及其之前版本和CUDA、cuDNN的版本對照關係,防止大家安裝的時候踩坑:
windows
Version | Python version | Compiler | Build tools | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-1.11.0 | 3.5-3.6 | MSVC 2015 update 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.9.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.8.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.7.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.6.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.5.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.4.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.3.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.2.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 3.5 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 3.5 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
Linux
Version | Python version | Compiler | Build tools | cuDNN | CUDA |
---|---|---|---|---|---|
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
Version | Python version | Compiler | Build tools | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-1.1.0 | 2.7, 3.3-3.6 | Clang from xcode | Bazel 0.4.2 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 2.7, 3.3-3.6 | Clang from xcode | Bazel 0.4.2 | 5.1 | 8 |
TensorFlow歷史版本
TensorFlow版本釋出歷史:https://pypi.org/project/tensorflow/#history
可以在這個網站找尋你需要的版本。
TensorLayer
按照TensorLayer官網文件安裝:
pip install git+https://github.com/zsdonghao/tensorlayer.git
安裝的是最新版的TensorLayer,需要TensorFlow 1.6.0以上版本支援。
如上文所述,由於老機器不支援AVX指令集,不得不安裝了TensorFlow 1.5 版本,這裡也得安裝對應的TensorLayer版本。我這裡選擇的是TensorLayer 1.5:
sudo pip install tensorlayer==1.5
P.S. 裝TensorFlow踩過一些坑,特此記錄,希望能幫助後來的其他筒子。