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解决方案Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案

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

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

好的,我们找到了这个玩意,也许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(一定要注意是合适的版本),然后把刚下载的文件解压得到:

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解决方案,因为以下的操作是不可逆的!!!!!!!)

 

将里面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解决方案

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

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

Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案(F:\Anaconda\anaconda\envs\tensorflow\Library\bin中)

Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案(F:\Anaconda\anaconda\envs\tensorflow\Library\include中)

Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案(F:\Anaconda\anaconda\envs\tensorflow\Library\lib\x64中)

然后备份一份(备份是指:复制到另一个文件夹,防止这种解决方法无效,方便回退),之后我们再去:下载的Tensorflow的大坑:Win10(Anaconda)下CuDNN library: 7.1.4 but source was compiled with: 7.2.1解决方案中找到对应的文件进行覆盖。

 

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

 

总结:

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

 

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

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

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

 

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

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

 

相关文章:

  • 2021-10-23
  • 2022-12-23
  • 2021-12-12
  • 2022-12-23
  • 2021-10-13
  • 2021-07-17
  • 2021-08-09
  • 2021-06-01
猜你喜欢
  • 2021-06-19
  • 2022-01-22
  • 2021-11-12
  • 2021-10-07
  • 2021-05-20
  • 2021-10-27
  • 2021-05-10
相关资源
相似解决方案