1、安装TensorFlow
打开cmd输入:pip install tensorflow-gpu
(默认是安装最新版,如果需要指定安装版本,例如2.5.0版本,则可以输入:pip install tensorflow-gpu==2.5.0
)
2、安装cuda11.7
理论上来说下载11.1或以上版本的CUDA都可以,这里以11.7为例:
点击进入官网下载 如图所示:
Win10用户可以点击下面链接直接下载:
点击下载cuda11.7
3、安装cudnn8.3.3
点击官网下载cudnn 需要登录NVIDIA账号之后才能下载,嫌麻烦的,点击下面链接可以直接下载:点击直接下载cudnn8.3.3
下载完成之后解压好,把文件名改成cudnn。然后放进刚刚安装好的CUDA的文件夹里,如下图所示:
4、添加进环境变量
接下来就是把cuda和cudnn添加进环境变量。一共是放两个:
- 需要把extras文件夹里边的CUPTI的lib64放进环境变量。请看我的例子: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\cudnn\bin
- 需要把cudnn文件里边的bin文件放进环境变量。请看我的例子: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\extras\CUPTI\lib64
- 注意,有可能还需要添加这个环境变量:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin
如图所示:
(注意:添加完后最好把他们都移到所有环境变量的最上边,防止出BUG)
5、下载zlibwapi
按照以上教程配置好之后,如果运行程序,可能会报这个错:
Could not locate zlibwapi.dll. Please make sure it is in your library path!
Process finished with exit code -1073740791 (0xC0000409)
这是因为缺少了zlibwapi导致的,点击下载zlibwapi 下载好并解压后,放到C:\Windows\System32文件夹内,然后添加下面路径到环境变量:C:\Windows\System32\zlib123dllx64\dll_x64,最后重启电脑!!!
按照上述的步骤配置好后,GPU就可以正常使用了!
报错解决:
- 如果运行代码,成功加载了所有的.dll,但是遇到了import时找不到DLL的错误。 解决方法请看我的另一篇博客:解决:ImportError: DLL load failed while importing _pywrap_tensorflow_internal: 找不到指定的模块
- 如果成功加载了所有的.dll,GPU也被读取出来了,但是还是报错:tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm.“。中文解释为:无法获取卷积算法,这可能是因为cuDNN初始化失败。 解决方法请看我的另一篇博客:解决:Failed to get convolution algorithm
- 如果代码能跑通,但是运行到中途就卡死,这目测是个BUG,我这里提供两个解决方法,亲测超级适用:1、如果代码有@tf.function加速,把@tf.function这行注释掉再运行;2、把TensorFlow的nightly版、cuda和cudnn更新一遍,然后再运行。