anoconda在使用虚拟环境下的tensorflow模块时,经常会出现如下错误:
UnknownError: 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. [Op:Conv2D]
可能很多帖子会给出是tensorflow和对应的cuda和cudnn库不匹配的原因,但是在查阅相关的匹配资料后,发现版本对应并没有错!其实问题很可能出现在安装cudnn时文件夹匹配出现错误,使得运行程序时,编辑器不能调用cudnn库。具体操作如下:
一、找到cudnn安装到的文件夹
在这个文件夹里C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include找到cudnn.h文件,如果存在这个文件,可能是版本不匹配的原因,请更换tensorflow的版本,如果不存在请看下一步
二、把cudnn的文件加载到cuda10.0对应的文件中
到这一个文件夹C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\cuda765里找到这三个文件夹
把这三个文件夹里面的如下文件
复制到如下红笔标记的文件夹里
复制粘贴后问题就解决了。关于tensorflow2.0.0-gpu版本的安装可以参考这个帖子。