windows10(Windows Server 2012)系統tensorflow-gpu安裝過程:
安裝的軟件版本如下:
軟件 | 版本 |
---|---|
cuda | 10.0 |
cudnn | 7.6.0 |
tensorflow-gpu | tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64 |
cuda下載過程如下,選擇服務器對應版本,點擊下載即可,安裝過程基本都是一直下一步即可:
官網下載鏈接
cudnn下載過程如下,選擇服務器對應版本,下載即可:
cudnn官網下載鏈接
cudnn下載之後進行解壓,分別將解壓縮的 cuda/include、cuda/lib、cuda/bin三個目錄中的內容拷貝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0對應的include、lib、bin目錄下即可
設置環境變量:將cudnn 的bin目錄地址添加到path環境變量中 (環境變量這一步windows我還不太確定是否必要)
tensorflow-gpu 使用pip或者conda直接進行安裝,一些較高版本無法安裝成功,我這裏選擇下載tensorflow-gpu 對應的輪子,然後使用pip來進行的安裝。
安裝方法:
在conda環境下安裝tensorflow-gpu ,過程如下:
首先使用conda命令創建獨立的conda環境,然後激活conda環境,使用pip安裝tensorflow-gpu 對應的輪子。
輪子下載鏈接:
具體命令如下:
conda create -n srgan366 python=3.6.6
conda activate srgan366
進入 到tensorflow-gpu .whl 文件所在目錄 :cmd窗口下,進入 E盤命令: E:
pip install tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl
測試tensorflow-gpu安裝是否成功:
cmd命令窗口內,激活你的conda環境,進入python交互,輸入import tensorflow
若沒有任何報錯,即說明安裝成功。
- 測試tensorflow-gpu安裝是否成功代碼如下:
import tensorflow as tf
with tf.device('/cpu:0'):
a = tf.constant([1.0,2.0,3.0],shape=[3],name='a')
b = tf.constant([1.0,2.0,3.0],shape=[3],name='b')
with tf.device('/gpu:1'):
c = a+b
print(c)
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True,log_device_placement=True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))
可能遇到的問題:
ImportError: DLL load failed: The specified module could not be found.
解決方法:
網上查詢,瞭解到的多數說法爲:可能是當前服務器處理器不支持當前較高版本的 tensorflow-gpu。
我自己最終解決的過程:
- 首先所選用的 tensorflow-gpu版本應該是當前cuda所支持的。
- 檢查 cuda 版本,系統是windows系統,就下載windows系統對應的 cuda 。
- 檢查 cudnn 版本,首先 cudnn 版本要和 cuda 版本匹配,其次 系統是 win10
,就下載 win10 對應,是win7或者 windowsServer2012 就下載
win7版本即可。
安裝之後,在 python 窗口下, import tensorflow 報錯如下:
- ModuleNotFoundError: No module named ‘tensorflow.python’
說明 tensorflow-gpu 和 cuda 版本不匹配。
當前 1.x 的 tensorflow-gpu 對 cuda 9.0 更爲友好。