最近在帮同学完成一篇论文,需要跑一个程序,但仅使用cpu训练实在太久,于是记录一下使用gpu加速训练的环境搭建过程。
环境概述
win10+Anaconda3.5+cuda9+cudnn7
首先安装一下Anaconda3,教程在这:安装Anaconda3
然后安装cuda,地址在这里:cuda toolkit,我下载的是9.0的版本,然后选择自己的机器型号进行下载,之后就可以打开exe程序进行安装了,首先点开exe会先让你选一个临时放的目录,这时候直接next就好了,因为之后这个临时目录里的文件会被删除。之后选择自定义安装,只勾选第一个组件CUDA就好了,其他的组件都不勾选,展开CUDA组件,将VISUAL STUDIO那个组件去除勾选。然后next,会让你选择3个安装位置,分别是Development、Samples、Documentation,这里可以直接next,也可以选择自定义安装,3个文件加起来大概有2G多。之后等待安装结束之后,需要进行系统变量/环境变量的配置。安装结束之后如果一开始临时目录你是自定义的话你可能会发现CUDA这个目录不见了,是的,这只是一个临时目录,没有关系,不影响的。进入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\extras\demo_suite使用命令行测试两个exe的执行情况,如果都是PASS就代表通过了。
接下来安装cudnn,点这个网址可以看到你的tensorflow-gpu版本与cuda版本与cudnn版本之间的对应关系。cudnn下载地址,会有一些认证问题。
之后打开Anaconda Prompt卸载之前的tensorflow,按照上面网址里的对应关系下载对应的tensorflow-gpu版本。
在主程序中最前面加入
import os
#不加这一行我会报错?不知道什么意思
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"
#这里选择你用哪一块,或者哪几块gpu训练
os.environ['CUDA_VISIBLE_DEVICES']='0' #'0,1'
进入C:\Program Files\NVIDIA Corporation\NVSMI目录下用命令行运行nvidia-smi.exe可以查看自己的gpu使用情况