Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案

Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案

问题来源

安装Keras的时候,tensorflow已经装了好久,两者之间不兼容。因为博主是一个没事就喜欢搞事的人,特别想尝一尝keras的味道,于是乎,博主只能哭着进行了Tensorflow-gpu的卸载与重装。由于不少题主已经发博客对这一过程进行了详细地说明,这里只对以下这个问题进行解决。

有的筒子可能重装了GUDA、GUDNN、tensorflow-gpu后,测试代码可能没问题,但是,一旦大家开心地准备尝试CNN(卷积神经网络)的时候会发现:

Loaded runtime CuDNN library: 7.1.4 but source was compiled with: 7.2.1.  CuDNN library major and minor version needs to match or have higher minor version in case of CuDNN 7.0 or later version. If using a binary install, upgrade your CuDNN library.  If building from sources, make sure the library loaded at runtime is compatible with the version specified during compile configuration.

类似于这样的报错????

解决方法

假设你已经按照https://blog.csdn.net/zw__chen/article/details/79374467类似的步骤重装了。(这个博主写的版本比较老,但是步骤可以参考。大家一定注意版本号对应,版本号可以看这个https://blog.csdn.net/yuejisuo1948/article/details/81043962 )

So,我明明重装了CUDNN啊,为啥啊??

Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案_第1张图片Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案_第2张图片

也许你和我一样使用的是Anaconda,那么,请打开你的Anaconda安装路径(比如:我的路径是F:\Anaconda\anaconda\pkgs),你会发现这有个

好的,我们找到了这个玩意,也许Anaconda直接是使用这里的CUDNN,而不是在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0这个地方的CUDNN(这只是猜测)。

为此,我们尝试一下直接更新这个pkgs,在这个网站下载(https://anaconda.org/anaconda/cudnn/files?sort=basename&sort_order=desc)选择合适版本的CUDNN(一定要注意是合适的版本),然后把刚下载的文件解压得到:

 

(博主特别提醒:特别注意备份一份,因为以下的操作是不可逆的!!!!!!!)

 

将里面Library的东西复制覆盖到F:\Anaconda\anaconda\pkgs\ cudnn-7.1.4-cuda9.0_0\Library的东西(也许你的Anaconda路径不同,需要自己找一下)路径,再试一下。可能还是会报错。

可能你在第一次装tensorflow的时候新建了一个环境路径envs。那么你就有F:\Anaconda\anaconda\envs这个文件夹。这时候,你还需要进行一下替换:

(博主特别提醒:特别注意备份一份即将替换的东西,因为以下的操作是不可逆的!!!!!!!)

打开F:\Anaconda\anaconda\envs\tensorflow\Library,你会发现:

Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案_第3张图片

这三个文件夹里还有需要替换的东西:

在这三个文件夹中分别找到:

(F:\Anaconda\anaconda\envs\tensorflow\Library\bin中)

(F:\Anaconda\anaconda\envs\tensorflow\Library\include中)

(F:\Anaconda\anaconda\envs\tensorflow\Library\lib\x64中)

然后备份一份(备份是指:复制到另一个文件夹,防止这种解决方法无效,方便回退),之后我们再去:下载的中找到对应的文件进行覆盖。

 

至此,博主的问题已经解决。CNN已经可以跑起来了。

 

总结:

同时,虽然回退tensorflow-gpu的版本是可行的,但是,如果你的tensorflow-gpu的版本回退会导致其他问题的话(如:keras版本兼容问题)或者你是一个与时俱进的好少年,你可以尝试我的这个解决方案,还是不要回退为妙。

 

希望这篇博文能给沉迷深度学习的各位筒子一些帮助。部分的内容参考了

https://github.com/tensorflow/tensorflow/issues/23715

如果大家没有听明白,可以去上面这个链接看看。

 

最后搞定了之后,建议在F:\Anaconda\anaconda\pkgs\cudnn-7.1.4-cuda9.0_0写一个更新提醒,防止日后忘了已经更新到了新的版本。

 

你可能感兴趣的:(Deep,Learning,tensorflow,cudnn,CuDNN,library:,7.1.4,but,sourc,问题解决方案,深度学习)