Windows10安装TensorFlow-gpu

我的系统是Windows10专业版。要安装GPU版的TensorFlow,首先需要安装CUDA,下载地址:https://developer.nvidia.com/cuda-toolkit-archive。我选择的是CUDA Toolkit 9.0 (Sept 2017),选择这个版本是因为搜到的成功装上的基本都是9.0的版本(如果您的显卡芯片为Pascal架构(NVIDIA GTX 1080,NVIDIA GTX 1070等),您只能在之后的配置中选择CUDA 8.0来自:keras-cn)。另外,TensorFlow和CUDA还有cuDNN的对应版本:https://www.tensorflow.org/install/source_windows。(这个后面需要下载cuDNN)
Windows10安装TensorFlow-gpu
既然选择了CUDA9.0,那么TensorFlow的版本就在1.5.0-1.12.0之间选择就行。

CUDA安装步骤:
Windows10安装TensorFlow-gpu
这个只是选择临时解压的路径,可以自己选择一个目录,也可以默认。目录会在安装完成之后自动删除。

Windows10安装TensorFlow-gpu
选择自定义安装:

Windows10安装TensorFlow-gpu
需要安装的组件如图,下一步的安装位置建议默认,如果不默认可能出现一些奇奇怪怪的问题。

安装完成之后可以在CMD下运行C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite这个目录下的bandwidthTest.exedeviceQuery.exe查看结果,正常的话会有一堆显卡的信息显示出来:
Windows10安装TensorFlow-gpu
我执行这两个程序的时候出现了错误,并没有打印显卡的信息, 不过忘了保存错误了(而且NVIDIA控制面板也打不开),最后直接把NVIDIA图形驱动程序这个软件卸载了,然后用驱动安装软件重新安装就正常了。

接着下载cuDNN:https://developer.nvidia.com/rdp/cudnn-archive,这个有点麻烦需要登录,我是直接使用QQ登录然后填写基本信息。另外,我下的版本:Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0。网页访问有点慢,但是下载的速度还是挺快的。

下载完成后直接解压到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0对应目录即可。我看好多人还添加了环境变量,应该是不需要的,CUDA安装的时候已经添加了。

准备工作已经做完了,接下就可以直接安装TensorFlow包了。建议使用python虚拟环境安装,我使用的是conda。
conda create -n {环境名称} python==3.6
conda activate tf
pip install tensorflow_gpu==1.8.0 不一定选择这个版本,如果是CUDA 9.0和cuDNN v7.0.5,正常来说1.5.0到1.12.0的版本都可以
pip install pillow 用于导入图片
pip install matplotlib 画图
pip uninstall protobuf 可以先import tensorflow试一下,如果没有出现错误可以不降级
pip install protobuf==3.4.0降级这个库的原因是import tensorflow时出现 importError: DLL load failed: 找不到指定的程序。可以看到具体报错的部分是protobuf这个库。我试了一下 protobuf 3.4.0这个版本可以匹配TensorFlow1.8.0。如果你的还是不行,搜索一下protobuf和TensorFlow对应版本找找看。
pip uninstall numpy
pip uninstall numpy==1.16.0 降级的原因:FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecat

后面就可以缺少装啥了,也可以根据提示升级一下pip。

如果想在jupyter notebook 中使用conda的虚拟环境需要先在某个虚拟环境下安装conda install nb_conda然后在这个虚拟环境下输入jupyter-notebook或者jupyter notebook打开jupyter就可以在网页中选择环境了,默认就是当前的虚拟环境。
Windows10安装TensorFlow-gpu
切换环境的话在Kernel->change Kernel选择相应的环境即可。

如果想用keras的话,需要选择对应的版本:https://docs.floydhub.com/guides/environments/
Windows10安装TensorFlow-gpu
然后pip install keras==2.1.6就可以用了