1. 程式人生 > >【深度學習】TensorFlow版本概述

【深度學習】TensorFlow版本概述

目錄

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踩過一些坑,特此記錄,希望能幫助後來的其他筒子。