tensorflow-gpu2.0报错:Failed to get convolution algorithm. This is probably because cuDNN...

tensorflow-gpu版本:2.0.0
CUDA版本:10.0.130
cuDNN版本:7.4.2(更新前)

  在使用tensorflow-gpu版本学习yolo3时遇到了卷积算法报错的问题: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
  网上给出的方法基本都是降低tensorflow版本或给GPU预约分配内存,但都不能解决我的问题(这tensorflow版本再降都将要变成1.x的版本了,果断放弃)。仔细一想,当时之前安装CUDA10.0的时候cuDNN最新只到了7.4.2的版本,那时候还没tensorflow2.0,故决定将cuDNN换成CUDA10.0支持的最新版本,成功解决了本人的问题。

具体步骤如下:

  1. 保持原来tensorflow-gpu2.0支持的CUDA版本10.0不变,之前配置的CUDA环境变量不变,前往英伟达官网

https://developer.nvidia.com/rdp/cudnn-download

重新下载当前CUDA版本支持的最新cuDNN(这边CUDA10.0支持的最新版本是v7.6.5)。
在这里插入图片描述
选择对应的操作系统版本(这边以win10为例)
在这里插入图片描述

  1. 对下载后的压缩包解压缩,得到如下文件:
    在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20200707224631441.png
  2. 将上述目录下的bin,include,lib三个文件复制到CUDA安装路径D:\CUDA10\NVIDIA GPU Computing Toolkit\CUDA\v10.0下,直接覆盖原文件。
    在这里插入图片描述
    至此cuDNN已重新安装完毕。
  3. 重新运行程序,cmd输入nvidia-smi查看进程,成功!在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41185569/article/details/107192347
今日推荐