配置步骤:
1.上网搜电脑的gpu是否支持深度学习
2.下载nvidia的显卡驱动器
(若电脑桌面点右键能出现NVIDIA的控制面板入口,可略过这一步)。可以先找出自己电脑的gpu型号,再搜索对应的驱动器(e.g. nvidia的NVIDIA Quadro K620驱动下载)
查看电脑gpu型号的方法:
控制面板点性能
3.找对应关系
在tf官网https://www.tensorflow.org/install/source_windows
查询tensorflow-gpu对应的CUDA和cudnn版本号。比如:
4.下载CUDA
到链接https://developer.nvidia.com/cuda-toolkit-archive
下载对应版本的CUDA,下载local版的。我的windows的:
一路运行安装,一般会自己将其中的
CUDA_PATH
CUDA_PATH_V10
添加到环境变量。
检测CUDA是否安装成功,打开cmd命令行,输入nvcc -V
,不报错即成功
5.下载对应的cudnn
清华的镜像源中有一部分版本的cudnn,但是不全,可以尝试用 conda search cudnn -c conda-forge
找找能下载那些版本的,找不到的话可以去管网下载对应的cudnn。官网地址:https://developer.nvidia.com/rdp/cudnn-download
该网站需要先注册,也可以到网上搜共享账号,不嫌麻烦可以自己注册,也花不了多久。
下载后解压文件,会得到三个文件夹与一个文件,把他他们复制到刚安装的CUDA的安装目录下即可:
之后为了能让下载的tensorflow-gpu运行时能找到CUDA,需要把这三个路径加入环境变量:
XXX\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
XXX\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
XXX\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include v10.0版本号是你下载的CUDA版本
6.下载tensorflow-gpu
推荐最后下载tensorflow-gpu,避免安装不成功的现象。可以使用pip在cmd直接安装(注意如果在annoconda中配置了单独的环境,要先activate 那个环境,再使用 pip insall tensorflow-gpu==1.xx.x
安装想装的gpu版本tf。
测试是否安装成功:
先切换到安装tensorflow-gpu的那个环境,然后
import tensorflow as tf
print(tf.test.is_gpu_available()) #true即可用
补充:直接安装pip insall tensorflow==1.15.0这样的话同时安装了cpu和gpu版定的,运行时会根据代码自己调用cup或者gpu的。
7.在代码中使用:
在代码开始使用
os.environ['CUDA_VISIBLE_DEVICES'] = '/gpu:0' #指定所用的gpu
#GPU 按需分配
config = tf.compat.v1.ConfigProto(allow_soft_placement=True)
config.gpu_options.per_process_gpu_memory_fraction = 0.7 #GPU显存用量百分比
tf.compat.v1.keras.backend.set_session(tf.compat.v1.Session(config=config))
8 使用时查看gpu状态:
可以按照步骤2从任务管理器查看,但是这个显示的不准确,只能显示显存用量,不能确定GPU是否在工作(类似于内存与cpu)很有可能会因为输入的batch_size或者隐藏层层数太多,显存已经占满还未能将数据全部加载,此时gpu不会开始工作(甚至会出现self._traceback = tf_stack.extract_stack()
的报错,解决办法就是调小bath_size和隐藏层层数),此时可以通过在cmd输入命令 nvidia-smi
查看GPU运行状态,如图:
如果输入语句之后报错,则是因为没有配置环境变量,按下图路径找到exe文件,加入系统变量的path中,重启cmd,在运行 nvidia-smi
即可