- 在nvdia官網下載下傳 cuda10.1 win10 x64, 安裝。
- 在nvdia官網下載下傳 cudnn-10.1-windows10-x64-v7.5.0.56.zip, 解壓,将裡面的檔案夾複制到cuda的安裝目錄 比如:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
- 下載下傳anaconda3 (2019年6月19日 Anaconda3-2019.03-Windows-x86_64.exe,注意安裝的是python3.7),一路安裝。(如果想直接在windows指令行中使用python、pip,請安裝後手動把anaconda的安裝目錄添加到環境變量path.)
- 打開 anaconda prompt,使用pip 安裝 ,pip install tensorflow-gpu
- 使用例子,
import tensorflow as tf
此pip指令按照的是最新版本的tensorflow1.4(除了2的beta版本之外)。
好了,總算問題來了。。。
網上GitHub一查,大把人出現這個問題, Win10: ImportError: DLL load failed: 浏覽了一遍後發現問題,“ confirmed it needs a dependency onImportError: DLL load failed: 找不到指定的子產品。 Failed to load the native TensorFlow runtime. See https://www.tensorflow.org/install/errors for some common reasons and solutions. Include the entire stack trace above this error message when asking for help.
CUBLAXX_100.DLL
.
Then I installed CUDA10.0 and it works.” cuda版本不對。。。難道要重裝cuda?将cuda降級到10.0?雖然現在cuda裝起來很容易,也不需要額外配置,可是還是麻煩啊,之前都用得好好的。。有點不甘心啊。。
- 一番折騰之後發現官方的whl都不支援10.1,但是總是有好人的。下面的github提供了重編譯的版本,支援10.1的cuda。下載下傳位址如下https://github.com/fo40225/tensorflow-windows-wheel
- tensorflow-windows-wheel/1.14.0/py37/GPU/cuda101cudnn76avx2/tensorflow_gpu-1.14.0-cp37-cp37m-win_amd64.7z.001 和 002 (或者其他版本的tenfowflow),解壓,,之後在anaconda prompt 下将目錄cd到下載下傳目錄,然後pip install xxx.whl,顯示安裝成功。
- 如果你其他的都沒有裝(anaconda cuda),請參考博文 https://blog.csdn.net/huanyingzhizai/article/details/89298964
- 測試一下:
-
成功輸出結果!!大功告成。import tensorflow as tf import numpy as np b = tf.test.is_gpu_available(cuda_only = False, min_cuda_compute_capability = None) print(b) # 使用 NumPy 生成假資料(phony data), 總共 100 個點. x_data = np.float32(np.random.rand(2, 100)) # 随機輸入 y_data = np.dot([0.100, 0.200], x_data) + 0.300 # 構造一個線性模型 # b = tf.Variable(tf.zeros([1])) W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0)) y = tf.matmul(W, x_data) + b # 最小化方差 loss = tf.reduce_mean(tf.square(y - y_data)) optimizer = tf.train.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss) # 初始化變量 init = tf.global_variables_initializer() # 啟動圖 (graph) sess = tf.Session() sess.run(init) # 拟合平面 for step in range(0, 201): sess.run(train) if step % 20 == 0: print( step, sess.run(W), sess.run(b))
- 如果想使用更高版本的tensorflow,可以參考網友給出的其他解決方案,将cuda降級到10.0。
- Windows 10 Home 64bit
- CUDA Toolkit 10.0 (Sept 2018)
- Download cuDNN v7.6.0 (May 20, 2019), for CUDA 10.0
- Python 3.7.3 Windows AMD64
- Tensorflow-gpu 1.13 1.14 2
---------------END-------------------------
2019年7月23日