首先创建虚拟环境:
conda create -n tfgpu python=3.6.5
进入虚拟环境:
activate tfgpu
根据官网:https://tensorflow.google.cn/install/source_windows
确定tensorflow、cuDNN,CUDA的版本要求选定要下载的cuDNN,CUDA版本。
CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive
cuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-archive
这里会有版本问题,我的版本组合是:tensorflow_gpu-1.12.0 + CUDA9.0 + cuDNN7.3.0+python3.6.5
- 安装tensorflow-gpu1.12.0
下载tensorflow-gpu离线安装包。https://pypi.org/project/tensorflow-gpu/1.12.0/#files
下载后放到D:\ProgramData\Anaconda3\envs\tfgpu\Scripts目录
cmd进入对应目录后:
pip install tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl
同时自动安装了其他所需的模块:
看一下现有安装的模块。
conda list
- 安装 CUDA9.0
双击安装包一直下一步安装即可。
查看版本及是否安装成功。
nvcc -V
- cuDNN7.3.0
直接解压,将bin目录加入系统变量path。
试一下是否可以成功。
import tensorflow as tf
试一试第一个程序:
import tensorflow as tf
hello = tf.constant('Hello, Tensorflow!')
sess = tf.Session()
print(sess.run(hello))
a = tf.constant(10)
b = tf.constant(20)
print(sess.run(a+b))
运行结果:
DONE, OK.
看似顺利,实际上版本问题很坑,官网只说了CUDA9 ,cuDNN7,python版本3.5-3.6。
一是版本不匹配。
刚开始选择的是:
CUDA 9.2
cuDNN7.6.0
报"ImportError: DLL load failed: 找不到指定的模块"的问题,查了下说是版本不匹配。
二是tensorflow安装问题。
一开始是在 镜像网站:https://repo.anaconda.com/pkgs/main/win-64/
直接安装:
pip install --upgrade https://repo.anaconda.com/pkgs/main/win-64/tensorflow-gpu-1.12.0-h0d30ee6_0.tar.bz2
下载下来安装:
pip install tensorflow-gpu-1.12.0-h0d30ee6_0.tar.bz2
conda install tensorflow-gpu-1.12.0-h0d30ee6_0.tar.bz2
conda list
显示安装成功
但是import tensorflow as tf
显示 没有 tensorflow 模块
可能下载的包不对,还有一些tensorflow-base的gpu版本。
卸载CUDA和cuDNN的时候,依次卸载有对应版本的选项即可,其他不要卸载。
参考:
[1] 手把手教你在windows7上安装tensorflow-gpu开发环境:https://www.jianshu.com/p/ac0c1047c545
[2] 报"ImportError: DLL load failed: 找不到指定的模块"的解决办法(2):https://blog.csdn.net/qq_37960402/article/details/89022877