歡迎關注我的微信公衆號“人小路遠”哦,在這裏我將會記錄自己日常學習的點滴收穫與大家分享,以後也可能會定期記錄一下自己在外讀博的所見所聞,希望大家喜歡,感謝支持!
TensorFlow 的 GPU 特性只支持 NVidia Compute Capability >= 3.5 ,顯卡型號/cuda/cudnn/python/tensorflow版本都需要對應,很複雜。但是做機器學習又無法避免使用顯卡加速,艾瑪真香。
一路曲曲折折經歷了無數次崩潰和氣急敗壞,最終找到一條玄學安裝路線,很方便,但是一定要按照順序來,按照指定版本號來,先用pip裝cpu版再用conda裝gpu版,這都是有講究的。雖然不知道爲什麼,但是解決了DLL load failed: 找不到指定的模塊的問題,包含測試代碼,僅供參考。
最終安裝版本:
- 顯卡型號: NVIDIA GeForce MX150
- python版本: 3.6.7
- tensorflow-gpu版本: 1.12.0
- cuda版本: 9.0
- cudnn版本: 7.6.5
參考:
【實測有效】tensorflow-gpu ImportError: DLL load failed: 找不到指定的模塊。
1、安裝Anaconda
官網下載鏈接,但是很不推薦官網下載,建議選好版本之後複製下載鏈接到迅雷。下載速度瞬間從幾十kb到幾M,不服不行。一路安裝,唯一注意一點是要把path添加到系統變量,有一個框勾選上即可。
2、新建虛擬空間
虛擬空間可以避免其他環境干擾,方便環境搭建和包的安裝卸載,也是anaconda的優勢所在。xxx爲虛擬空間的名字,指定安裝python版本爲3.6
conda create -n xxx python=3.6
查看已創建的虛擬空間
conda env list
激活虛擬空間
activate xxx
分別查看pip和conda已經安裝的包,並卸載已有的所有tensorflow/tensorflow-gpu/tensorboard,以免意外衝突。
pip list
pip uninstall xxx
conda list
conda uninstall xxx
3、pip安裝tensorflow(cpu版)
指定版本1.12.0,至於爲什麼要先裝CPU版的我也不知道。不這樣就會報錯 DLL load failed: 找不到指定的模塊。
pip install tensorflow==1.12.0
測試,python環境下輸入以下代碼,如果輸出b'Hello, TensorFlow!'即說明安裝成功。
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
4、conda安裝tensorflow-gpu版
conda換國內源,否則安裝速度龜速且不穩定,此處選用清華大學的鏡像源。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# 設置搜索時顯示通道地址
conda config --set show_channel_urls yes
查看是否更換成功,如果channels下爲剛纔的清華鏡像鏈接則更換成功。
conda config --show
使用conda安裝tensorflow-gpu的1.12.0版本
conda install tensorflow-gpu==1.12.0
5、最終測試
在python環境下輸入以下代碼,如果可以打印出GPU信息則說明安裝成功。
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
6、小技巧
以下是不使用conda或者希望安裝其他版本的探索過程中可能會需要注意的地方:
6.1、tensorflow各個版本需要的CUDA版本以及Cudnn的對應關係
https://www.tensorflow.org/install/source_windows
6.2、查看python版本
https://www.python.org/downloads/windows/
打開cmd,輸入命令python -V。版本號爲3.6
6.3、PIP 更換國內安裝源
pip安裝龜速,同樣換爲清華源。你說我要是在清華上學多好?
在user目錄中創建一個pip目錄,如:C:\Users\xx\pip,在pip 目錄下新建文件pip.ini,內容如下
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
6.4、查看顯卡版本和算力
NVIDIA GeForce MX150
要注意TensorFlow 的 GPU 特性只支持 NVidia Compute Capability >= 3.5 的顯卡,需要在NVIDIA官網查看自己顯卡對應的算力。或者在安裝好tensorflow的CPU版本後在python環境下輸入以下代碼:
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
6.5、查看cuda版本
打開cmd,輸入命令nvcc --version。版本號爲9.2
6.6、查看cudnn版本
打開cudnn文件夾 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include
打開cudnn.h文件,使用notepad++打開
Ctrl+F檢索CUDNN_MAJOR,結果如下
版本號即爲7.2.1