配置步骤:
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())
7.在代码中使用: 在代码开始使用
os.environ['CUDA_VISIBLE_DEVICES'] = '/gpu:0'
config = tf.compat.v1.ConfigProto(allow_soft_placement=True)
config.gpu_options.per_process_gpu_memory_fraction = 0.7
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 即可
|