機器學習小白(三)——TensorFlow安裝

1、官方教程

官網https://www.tensorflow.org/,可以直接參考:官方安裝教程,就懶得搬運了。不過需要自備梯子,沒有的可以看後文。

2、官方教程注意點

(2018.05.24版)
本人是GeForce GTX 960M的渣筆記本顯卡,算是剛夠到gpu版本的及格線上。目前安裝的是1.8.0TensorFlow的gpu版本。不同版本對cuda和cudnn版本要求不一樣,坑爹的是兼容性感覺不怎麼樣,最好是按官方要求的版本。

操作系統上官網是這麼寫的,需要符合的操作系統

我們已在如下配置的 64 位筆記本電腦/臺式機操作系統中構建並測試過 TensorFlow:
MacOS X 10.11 (El Capitan) 或更高版本
Ubuntu 16.04 或更高版本
Windows 7 或更高版本
也許您能在其他筆記本電腦或臺式機系統上安裝 TensorFlow,但我們只支持上述配置(且只會修復這些配置中的問題)。

可以僅僅安裝CPU版本的,也可以安裝gpu版本的。如果硬件支持的話,建議裝gpu版本的,速度差很多。

您必須從以下 TensorFlow 類型中選擇其一來進行安裝:
僅支持 CPU 的 TensorFlow。如果您的系統沒有 NVIDIA® GPU,就必須安裝此版本。請注意,此版本的 TensorFlow 通常更容易安裝(用時通常在 5 或 10 分鐘內),所以即使您擁有 NVIDIA GPU,我們也建議先安裝此版本。預先構建的二進制文件將使用 AVX 指令。
**支持 GPU 的 TensorFlow。**TensorFlow 程序在 GPU 上的運行速度通常要比在 CPU 上快得多。因此,如果您的系統配有滿足以下所示先決條件的 NVIDIA® GPU,並且您需要運行性能至關重要的應用,則最終應安裝此版本。

安裝gpu版本的要麻煩很多,要求如下:

運行支持 GPU 的 TensorFlow 所需滿足的要求
如果您要使用本指南描述的其中一種方式安裝支持 GPU 的 TensorFlow,就必須在系統上安裝以下 NVIDIA 軟件:

CUDA® 工具包 9.0。如需瞭解詳情,請參閱 NVIDIA 的文檔。請務必按照 NVIDIA 文檔中的說明將相關的 CUDA 路徑名附加到 %PATH% 環境變量中。
與 CUDA 工具包 9.0 相關聯的 NVIDIA 驅動程序。
cuDNN v7.0。如需瞭解詳情,請參閱 NVIDIA 文檔。請注意,cuDNN 通常安裝在與其他 CUDA DLL 不同的位置。請務必將您安裝了 cuDNN DLL 的目錄添加到 %PATH% 環境變量中。
CUDA 計算能力爲 3.0 或更高的 GPU 卡(用於從源代碼構建),以及 CUDA 計算能力爲 3.5 或更高的 GPU 卡(用於安裝我們的二進制文件)。如需瞭解支持的 GPU 卡的列表,請參閱 NVIDIA 文檔。
如果您的某個軟件包不同於上述版本,請改爲指定的版本。特別是,cuDNN 版本必須完全匹配:如果無法找到 cuDNN64_7.dll,TensorFlow 就不會加載。要使用不同版本的 cuDNN,您必須從源代碼構建。

1、安裝時注意從NVIDIA下載的CUDA版本和cuDNN版本,我下了CUDA9.2的,然後運行時提示了錯誤:

ImportError: Could not find ‘cudart64_90.dll’. TensorFlow requires that this DLL be installed in a directory that is nam
ed in your %PATH% environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-t
oolkit

原因:CUDA版本不是TensorFlow要求的版本,可能過高!!!過低(╯°Д°)╯︵┻━┻
解決辦法:下載錯誤提示裏寫的版本(默認傳統安裝)

2、使用時,遇到了提示

Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

查閱的資料表明:

如果你有一個GPU,並且安裝的是gpu版本的

你不應該關心AVX的支持,因爲大多數昂貴的操作將被分派到一個GPU設備上(除非明確地設置)。在這種情況下,您可以簡單地忽略此警告:

import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’

如果安裝的是CPU版本(pip install tensorflow)

1.在代碼中加入如下代碼,忽略警告:

import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’
2.編譯TensorFlow源碼
如果您沒有GPU並且希望儘可能多地利用CPU,那麼如果您的CPU支持AVX,AVX2和FMA,則應該從針對CPU優化的源構建tensorflow。在這個問題中已經討論過這個問題,也是這個GitHub問題。 Tensorflow使用稱爲bazel的ad-hoc構建系統,構建它並不是那麼簡單,但肯定是可行的。在此之後,不僅警告消失,tensorflow性能也應該改善。

3、如果還有其他錯誤,可以參考這篇博客,不過我沒遇到過
https://blog.csdn.net/mm644706215/article/details/78797782

3、安裝教程

3.1 ubuntu和mac

極客學院的
http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html
或一箇中文社區的翻譯
http://www.tensorfly.cn/tfdoc/get_started/os_setup.html

3.2 windows

以下是1-4我的安裝步驟,這個是gpu版本的


按照Google的文檔,cpu版本的只有一步,不需要gpu版本的1-3步驟:
C:> pip3 install –upgrade tensorflow
  • 用Anaconda正常流程如下,Google是這麼寫的

Anaconda 安裝是由社區提供支持的,並沒有任何官方支持。
按照以下步驟在 Anaconda 環境中安裝 TensorFlow:

按照 Anaconda 下載網站上的說明下載並安裝 Anaconda。

調用以下命令創建名爲 tensorflow 的 conda 環境:

C:> conda create -n tensorflow pip python=3.5
發出以下命令以激活 conda 環境:

C:> activate tensorflow
(tensorflow)C:> # Your prompt should change

發出相關命令以在 conda 環境中安裝 TensorFlow。要安裝僅支持 CPU 的 TensorFlow 版本,請輸入以下命令:

(tensorflow)C:> pip install –ignore-installed –upgrade tensorflow

要安裝 GPU 版本的 TensorFlow,請輸入以下命令(在同一行):

(tensorflow)C:> pip install –ignore-installed –upgrade tensorflow-gpu

也可以參考CSDN的一個博客

我也裝了anaconda,不過一般都是用Pycharm,anaconda只是裝了後常用科學計算的包都有了,所以1-3步驟後,直接用pip安裝了tensorflow-gpu,主要是官方教程看到pip就裝上了,不想麻煩就先試試,在pycharm裏也能用,沒有conda create和activate tensorflow的步驟。
不過目測在conda下不能用,因爲沒有在conda裏創建TensorFlow環境,在Anaconda Prompt裏用

conda env list

果然並沒有TensorFlow環境。

4、測試:Hello, TensorFlow!

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

輸出如下所示,嗯一堆沒什麼用的東西后面是b’Hello, TensorFlow!’,可以算是能用了。

D:\PythonAnaconda\python.exe G:/mission/PythonLearning/MachineLearning/Tensorflow_Hello/hello.py
D:\PythonAnaconda\lib\site-packages\h5py__init__.py:34: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
2018-05-24 10:39:53.995925: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018-05-24 10:39:55.138147: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1356] Found device 0 with properties:
name: GeForce GTX 960M major: 5 minor: 0 memoryClockRate(GHz): 1.176
pciBusID: 0000:01:00.0
totalMemory: 2.00GiB freeMemory: 1.65GiB
2018-05-24 10:39:55.138613: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1435] Adding visible gpu devices: 0
2018-05-24 10:42:20.869521: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-05-24 10:42:20.869770: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:929] 0
2018-05-24 10:42:20.869930: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:942] 0: N
2018-05-24 10:42:20.870262: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1419 MB memory) -> physical GPU (device: 0, name: GeForce GTX 960M, pci bus id: 0000:01:00.0, compute capability: 5.0)
b’Hello, TensorFlow!’

Process finished with exit code 0

TensorFlow入門

可以參考我的github,一起學習Tensorflow_Hello

發佈了52 篇原創文章 · 獲贊 49 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章