經過一整天的折騰,參考了許多網友的建議後,終于把tensorflow-gpu庫安裝成功了,現将安裝經驗總結如下:
1 适用條件
本經驗适用于win10作業系統下的版本5.2.0的Anaconda3,理由是該版本對應Python3.6,而比此版本高的Anaconda3配套的是Python3.7,目前TensorFlow對Python3.7支援不夠友好,導緻安裝出錯。TensorFlow對Python版本的要求将在下面介紹,理論上安裝搭載相應Python版本的Anaconda3都應該可以成功安裝TensorFlow庫。
2 安裝要求
2.1 系統要求
TensorFlow庫的官方說明中對系統的要求如下:
- Ubuntu 16.04 or later (64-bit)
- macOS 10.12.6 (Sierra) or later (64-bit) (no GPU support)
- Windows 7 or later (64-bit) (Python 3 only)
- Raspbian 9.0 or later
2.2 硬體及軟體要求
本文主要介紹tensorflow-gpu庫的安裝,是以隻介紹關于GPU硬體及軟體的要求。有關tensorflow庫(CPU版)的安裝對此一般不做要求,是以相對要簡單許多。
2.2.1 硬體要求
tensorflow-gpu要求電腦搭載CUDA算力在3.5及以上的NVIDIA GPU顯示卡,具體可登陸CUDA-enabled GPU cards檢查你的GPU是否達到要求。
2.2.2 軟體要求
以下是tensorflow-gpu對NVIDIA GPU顯示卡的軟體要求:
- NVIDIA® GPU drivers —CUDA 9.0 requires 384.x or higher.
- CUDA® Toolkit —TensorFlow supports CUDA 9.0.
- CUPTI ships with the CUDA Toolkit.
- cuDNN SDK (>= 7.2)
- (Optional) NCCL 2.2 for multiple GPU support.
- (Optional) TensorRT 4.0 to improve latency and throughput for inference on some models.
tensorflow-gpu庫對CUDA及cuDNN的要求如下圖,建議下載下傳CUDA9.0以及cuDNN v7.4.2。

3 動手安裝
3.1 Anaconda3安裝
由于官方上隻提供最新版本的Anaconda3下載下傳,考慮到與tensorflow-gpu庫的相容問題,不建議安裝最新版的Anaconda3軟體。可去清華大學開源軟體鏡像站下載下傳舊版Anaconda3,這裡以64位windows系統下的Anaconda3-5.2.0版本為例。
建議安裝目錄中不要出現空格符号,一般按預設目錄安裝即可。
安裝完成後,進入Anaconda Prompt控制台,輸入以下指令先把pip版本更新到最新版(18.1.0)
python -m pip install --upgrade pip
3.2 VC庫安裝
1、打開微軟網站,下載下傳并安裝以下兩個庫。
2、再進入VS網站,下載下傳并安裝VS2017社群版。
3.3 CUDA庫安裝
進入CUDA Toolkit Archive網站下載下傳CUDA Toolkit 9.0,以及更新檔patch2、3、4(patch1安裝不上,可以不安裝)。
3.4 cuDNN安裝
登陸官方cuDNN網址下載下傳cuDNN。首先需要注冊一個賬号(注冊過程網頁打開極慢,建議科學上網),然後下載下傳cuDNN v7.4.2版本。
安裝方法:
1、解壓cudnn-9.0-windows10-x64-v7.zip
2、将以下檔案複制到
(1)Copy <installpath>\cuda\bin\cudnn64_7.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin.
(2)Copy <installpath>\cuda\ include\cudnn.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include.
(3)Copy <installpath>\cuda\lib\x64\cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64.
3、打開“運作”-“control sysdm.cpl”-進階-環境變量,確定以下配置路徑正确。
Variable Name: CUDA_PATH
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
3.5 tensorflow-gpu庫安裝
至此,安裝tensorflow-gpu庫的所有要去條件都已具備,下面可以安裝tensorflow-gpu庫。Anaconda3自帶的Spyder IDE界面與Matlab相似,借助該IDE可以很友善地進行深度學習程式編寫。下面以Spyder為例,介紹如何安裝tensorflow-gpu庫。
打開Spyder後,在控制台輸入!pip install tensorflow-gpu指令,等待片刻後,軟體将自動将tensorflow-gpu庫安裝上。
4 tensorflow庫代碼測試
下面給出了tensorflow庫的CPU運作和GPU運作時間比較代碼,其中為了提高對比差異,刻意将第二層的單元數設定為10000。運作結果顯示,基于GPU的tensorflow庫運作效率果然很高,計算效率幾乎是CPU運作效率的10倍!
"""神經網絡架構搭建與測試"""
import tensorflow as tf
from tensorflow import keras
import numpy as np
import time
# 擷取資料
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
train_images = train_images / 255.0
test_images = test_images / 255.0
# 構模組化型
#with tf.device("/CPU:0"):
with tf.device("/device:GPU:0"):
time_start = time.time()
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(10000, activation=tf.nn.relu),
keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer=tf.train.AdamOptimizer(),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 訓練模型
model.fit(train_images, train_labels, batch_size=32, epochs=5)
time_end = time.time()
#print("The used time for CPU is %.2fs" %(time_end-time_start))
print("The used time for GPU is %.2fs" %(time_end-time_start))
# 評估準确率
#test_loss, test_acc = model.evaluate(test_images, test_labels)
#print("Test accuracy: ", test_acc)
# 預測
#predictions = model.predict(test_images)
#prediction_labels = np.argmax(predictions, axis=1)