Windows10安装TensorFlow-gpu

我的系统是Windows10专业版,显卡是GTX1060。要安装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_第1张图片
既然选择了CUDA9.0,那么TensorFlow的版本就在1.5.0-1.12.0之间选择就行。

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

Windows10安装TensorFlow-gpu_第3张图片
选择自定义安装:

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

安装完成之后可以在CMD下运行C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite这个目录下的bandwidthTest.exedeviceQuery.exe查看结果,正常的话会有一堆显卡的信息显示出来:
Windows10安装TensorFlow-gpu_第5张图片
我执行这两个程序的时候出现了错误,并没有打印显卡的信息, 不过忘了保存错误了(而且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 tf python==3.6 tf为虚拟环境名称,可任意
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_第6张图片
切换环境的话在Kernel->change Kernel选择相应的环境即可。

如果想用keras的话,需要选择对应的版本:https://docs.floydhub.com/guides/environments/
在这里插入图片描述
然后pip install keras==2.1.6就可以用了

如果模型还没训练完中途终止的话,可能会出现显存不会释放的问题。具体看资源管理器中的GPU的内存占用。
Windows10安装TensorFlow-gpu_第7张图片
注意只看专用内存部分就行了,因为共享内存我基本就没见过被使用的时候,只有像一些核显才会使用,因为它没有专用内存。至于两个的具体科普可以自行百度,简单来说就是专用GPU内存是显卡自带的内存,而共享GPU内存是操作系统将系统内存(就是内存条所说的内存)划分一部分给GPU称为共享内存,既然是共享说明GPU没用的时候操作系统也能用。

但你发现专用内存占用很高,但是在任务管理器中的进程栏又找不到一个程序占用了相应的GPU(进程栏没显示GPU的可以右键名称或者状态那一行勾上GPU), 很有可能是训练模型的程序没有终止。

我们在系统中找到nvidia-smi.exe这个应用程序,一般位于C:\Program Files\NVIDIA Corporation\NVSMI,在CMD下运行这个程序看看有哪些程序占用的GPU,将其中包含python的结束掉就行,结束进程命令tskill {pid}

2022-06-22补充

Windows10安装TensorFlow-gpu_第8张图片
这个警告可以忽略,点击继续安装,后面也是能正常使用的。估计是因为我的笔记本带有核显。

安装完后需要重启,不然会报找不到dll的错误,说你未配置环境变量。

你可能感兴趣的:(小白进阶之路,tensorflow,windows)