今天终于搞到一台带1080独显的PC,之前一直用CPU训练,效率极其低下。训练tensorflow-yolov3这个网络模型,图集400张,4个分类,要训练十多个小时才能看到检出效果,现在可以尝试使用GPU训练了。
之前对GPU训练还不太了解,以为要改代码,现在才知道,其实不需要的。
关键就是搭建好cuda环境
-
NVIDIA显卡驱动
(https://www.nvidia.cn/Download/index.aspx?lang=cn#)
-
CUDA,GPU编程工具包,用于调用GPU,(不少文章提到需要先安装visual studio,感觉不用也行)
(https://developer.nvidia.com/cuda-toolkit-archive)
下载下来一步步安装即可。安装完可在终端输入nvcc -V
检查是否安装成功(前提是path设置好,正常会自动设置的)
- cuDNN,专门为加速深度神经网络设计的cuda扩展库
(https://developer.nvidia.com/rdp/cudnn-download)
cuDNN的安装方式很简单,下载下来解压,拷贝到cuda对应版本的根目录下即可
C:\Users\dvlee>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:04_Central_Daylight_Time_2018
Cuda compilation tools, release 10.0, V10.0.130
- 安装python库,
tensorflow-gpu
我删除了cpu版的tensorflow,重新安装了gpu版的库。在pycharm的库管理里直接搜索安装。
以上四点的版本号要对应上,我使用的tensorflow-gpu版本为1.14,显卡驱动419.17,cuda和cudnn用10.0的版本。发现驱动版本低了,需要升级下版本。
遇到的几个问题,
AttributeError: module 'tensorflow' has no attribute 'constant'
这个问题,我记得重新安装tensorflow-gpu,重启了下pycharm即可CUDA driver version is insufficient for CUDA runtime version
显卡驱动版本跟cuda版本对不上显卡驱动折腾了很久,用了很多方式,一直提示无法升级,后来又莫名其妙的好了