欢迎关注我的微信公众号“人小路远”哦,在这里我将会记录自己日常学习的点滴收获与大家分享,以后也可能会定期记录一下自己在外读博的所见所闻,希望大家喜欢,感谢支持!
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