1. 程式人生 > >Tensorflow系列00:Win10下TensorFlow-gpu 1.8+cuda_9.0+cudnn安裝

Tensorflow系列00:Win10下TensorFlow-gpu 1.8+cuda_9.0+cudnn安裝

安裝TensorFlow基礎環境

1.1 確定windows版本和想安裝的Tensorflow的本版號:

  • Win 10 64 位
  • python 安裝包 Anaconda3-5.1.0-Windows-x86_64.exe
  • cuda_9.0.176_win10.exe
  • cudnn-9.0-windows10-x64-v7.zip

1.2 安裝Anaconda

這裡寫圖片描述

可以選擇將python環境寫入到path中,之後一直點下一步安裝就好的

用pip安裝依賴包時預設訪問https://pypi.python.org/simple/,但是經常出現不穩定以及訪問速度非常慢的情況,國內廠商提供的pipy映象目前可用的有:

安裝時我們可以手動指定安裝源如下:

如果感覺每次安裝都手動指定安裝源麻煩的話,也可以配置pip更新源
不過這種方式在每次安裝時都要手動指定,因此你可以把它寫在配置檔案中,這就是第二種方法,在當前使用者目錄下建立.pip資料夾

mkdir ~/.pip
然後在該目錄下建立pip.conf檔案填寫:
[global]
trusted-host=mirrors.aliyun.com
index-url=http://mirrors.aliyun.com/pypi/simple/

上面配置是針對OSX/Linux系統,如果是Windows,那麼建立%HOMEPATH%\pip\pip.ini檔案來配置。
例如:C:\Users\使用者名稱\pip\pip.ini
pip.ini配置的主要一些配置:

類似win 設定pip目錄:
1、開啟appdata資料夾,在資源管理器的位址列輸入%appdata%後回車
2、新建一個pip資料夾,在pip資料夾裡面新建一個配置檔案pip.ini
3、輸入程式碼:
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

可以選擇建立一個Conda環境(這個可以省略):

開啟Anaconda自帶命令列工具Anaconda Prompt輸入以下命令:
1.建立一個Conda環境
C:> conda create -n tensorflow
2.啟用Conda環境
C:> activate tensorflow

1.3 安裝tensorflow

pip install tensorflow

直接使用pip安裝tensoflow 就可以安裝成功

需要安裝 tensorflow-gpu ,使用如下命令:

pip install tensorflow-gpu

tensoflow-gpu 在python上安裝成功了

1.4 cuda安裝

tensorflow-gpu需要安裝cuda環境,cuda的各個版本在下面網址,可以自行下載

下載成功之後,直接點選安裝,會自動安裝到c盤的類似目錄:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

也會將cuda的path寫入到win10 環境中,我們可以在win10環境中看到
這裡寫圖片描述

需要在path中增加 cuda 的lib執行環境:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64;

這裡寫圖片描述

需要下載cudnn,下載地址如下:

這個需要註冊然後才能下載,下載之後解壓然後複製到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 這個目錄。

1.5 測試tensorflow 是否安裝成功

例如:

import tensorflow as tf

hello = tf.constant("Hello!TensorFlow")
sess = tf.Session()
print(sess.run(hello))

這裡寫圖片描述

1.6 tensorflow 簡單示例

tensorflow實現簡單加法:
例如:

import tensorflow as tf
# 建立一個常量 op, 產生一個 1x2 矩陣. 這個 op 被作為一個節點
# 加到預設圖中.
# 構造器的返回值代表該常量 op 的返回值.
matrix1 = tf.constant([[3., 3.]])
# 建立另外一個常量 op, 產生一個 2x1 矩陣.
matrix2 = tf.constant([[2.],[2.]])
# 建立一個矩陣乘法 matmul op , 把 'matrix1' 和 'matrix2' 作為輸入.
# 返回值 'product' 代表矩陣乘法的結果.
product = tf.matmul(matrix1, matrix2)
# 啟動預設圖.
sess = tf.Session()
# 呼叫 sess 的 'run()' 方法來執行矩陣乘法 op, 傳入 'product' 作為該方法的引數. 
# 上面提到, 'product' 代表了矩陣乘法 op 的輸出, 傳入它是向方法表明, 我們希望取回
# 矩陣乘法 op 的輸出.
# 整個執行過程是自動化的, 會話負責傳遞 op 所需的全部輸入. op 通常是併發執行的.
# 函式呼叫 'run(product)' 觸發了圖中三個 op (兩個常量 op 和一個矩陣乘法 op) 的執行.
# 返回值 'result' 是一個 numpy `ndarray` 物件.
result = sess.run(product)
print(result)
# ==> [[ 12.]]
# 任務完成, 關閉會話.
sess.close()

這裡寫圖片描述

1.7 常見python庫下載地址

1.8 最後: