一、先说说效果:
训练一ResNet50模型,训练集456张图,测试集230张图。
原使用CPU训练, Ryzen5 1400 ,内存16G,训练一epoch,用时约160秒。
使用GPU训练,GT 1050,显存2G,训练一epoch,用时约19秒。
快了7倍多,值得折腾。
二、过程:
1.第一次安装,参考网上一个教程
pin instul tensorflow -gpus ==2.8.0,安装CUDA 11.5,cuDNN 8.3.0。
原文没有说明python版本,我用的是python 3.10,结果失败了。麻烦就来了,所以说第一次很重要。
- 然后是反复安装tensorflow,CUDA,cuDNN的各个版本(已经从tensorflow官网的对应列表中,对应一一安装,还是不行)。
解决过的问题有:
-
- tensorflow-2.12.0安装不成功。
- 部分版本需要:pip install protobuf==3.19.0
- 早期版本需要:zlib
3.最后卡在了无法加载库cudnn_cnn_infer64_8.dll。错误代码127。经过反复的尝试,第4天终于发现了问题。本来是在VScode中运行代码的,在一次cmd窗口运行代码,终于发现加载的是C:\windows\system\ccudnn_cnn_infer64_8.dll(原因是某次安装失败后,复制过去验证路径,结果没删除)。
最后出现OOM,将批数从32改为8。
- 总结:
本人在2023年6月历时4天,安装keras GPU训练成功。
安装环境:Win10 22H12,GT1050显卡,驱动最高支持CUDA 12.1,安装CUDA 11.8,cuDNN 8.6.0,tensoflow 2.10.0,成功。
建议:
- 查看显示CUDA版本
- 从源代码构建 | TensorFlow
- 还是不行,新装系统,重头再来。
补充:
2023.6.20新装了一块M2的硬盘,新装系统,win 10 22H2(自动更新显卡驱动)。
1.安装CUDA 11.8,cuDNN 8.6.0。
2.安装python 3.10.1,tensorflow 2.10.0(2.11.0不行)。
3.Installation Guide - NVIDIA Docs,下载zlibwapi.dll。