1. 程式人生 > >【TensorFlow】Win10+TensorFlow+Anaconda+CUDA+cuDNN

【TensorFlow】Win10+TensorFlow+Anaconda+CUDA+cuDNN

TensorFlow

TensorFlow是谷歌基於DistBelief進行研發的第二代人工智慧學習系統,其命名來源於本身的執行原理。Tensor(張量)意味著N維陣列,Flow(流)意味著基於資料流圖的計算,TensorFlow為張量從流圖的一端流動到另一端計算過程。TensorFlow是將複雜的資料結構傳輸至人工智慧神經網中進行分析和處理過程的系統。

1、本地pip安裝

CPU版本

  Python 3自帶pip3軟體包管理器,適用於TensorFlow的安裝。

  執行——cmd——輸入pip3 install --upgrade tensorflow

  只需要等待,我這裡輸入的pip install --upgrade tensorflow

,結果相同。

GPU版本

  TensorFlow程式在GPU上的執行速度通常都會明顯快於CPU。因此,如果系統具有NVIDIA(英偉達)GPU,並且需要執行較高效能的應用程式,建議安裝此版本。

  執行——cmd——輸入pip3 install --upgrade tensorflow-gpu

2、Anaconda

  如果在安裝Anaconda時沒有打勾將路徑新增到環境變數,則需要手動新增,否則在conda命令時會提示出錯。如果新增後還出錯怎麼辦?直接重灌Anaconda吧,又不難,記得勾選上環境變數。

Anaconda_root             # 安裝Anaconda的根目錄,都需要手動新增到環境變數 
Anaconda_root\Scripts
Anaconda_root\Library\bin

  通過呼叫以下命令建立一個名為tensorflow的conda環境,選擇自己所用的Python版本。

conda create -n tensorflow python=3.6

  輸入y,等待。

  啟用conda環境,彈出提示。

avtivate tensorflow

  如果安裝CPU版本,輸入

pip install --ignore-installed --upgrade tensorflow 

  如果安裝GPU版本,則輸入

pip install --ignore-installed
--upgrade tensorflow-gpu

3、安裝CUDA8.0和cuDNN6.0

  目前,TensorFlow還不支援CUDA9.0,所以,還是老實本分使用CUDA8.0吧(無奈)。(CUDA9.0安裝教程

  首先下載CUDA Toolkit 8.0工具包:官方下載地址

  跟著安裝嚮導,安裝完成了即可。可以nvcc -V檢視是否成功。

  然後安裝與CUDA Toolkit 8.0相關的NVIDIA驅動程式

  接下來,下載cuDNN,官方下載地址

Google 於 2017 年 8 月 17 日左右釋出了 TensorFlow 1.3,該版本不再支援 cuDNN 5,開始支援cuDNN 6,所以在使用 pip 安裝最新版時,應使用 cuDNN 6及以上。

  這裡我選擇的是v6.0的Win10版本:cuDNN v6.0 Library for Windows 10。(選合適的而不是選最新的,注意不要選錯!!!)

  將下載解壓後的三個檔案複製到CUDA相應位置。

  同時還需將bin目錄、lib\64目錄新增到環境變數path中,否則後面呼叫時會報錯。

4、檢測安裝成功與否

  第一種方式:在cmd中輸入’python’,然後輸入以下程式:

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

  第二種方式:在python的shell視窗中輸入上述程式,有

  第三種方式:在PyCharm中輸入上述程式,發現找不到該模組,這是因為沒有配置的原因。

  要在pycharm下使用tensorflow,要設定好pycharm下直譯器interpreter的路徑,這裡也就是tensorflow的路徑。

  File->Settings->Project Interpreter->點選設定按鈕選擇’Add Local …’ ->Virtualenv Environment->選擇Base interpreter。檔案路徑可以是在安裝Anaconda的檔案路徑下。

  終於好啦!Hello TensorFlow!