MXNet与TF 2.x GPU共存时的问题:Loaded runtime CuDNN library: 7.5.0 but source was compiled with: 7.6.5

 

【win10】MXNet与TensorFlow 2.x GPU版本共存时的问题:Loaded runtime CuDNN library: 7.5.0 but source was compiled with: 7.6.5

本人软件环境:

  • win10 x64
  • CUDA 10.1
  • cudnn 7.6.5
  • mxnet-cu101==1.5.0
  • tensorflow-gpu==2.2.0

Python工程中同时使用了MXNet与TensorFlow,在运行时出现错误:

Loaded runtime CuDNN library: 7.5.0 but source was compiled with: 7.6.5

1 原因

MXNet GPU版本在安装目录(python\Lib\site-packages\mxnet)下已存在cudnn64_7.dll,这个dll是MXNet自带的,若与系统中安装的cudnn不一致,则会使得TensorFlow报错。

MXNet与TF 2.x GPU共存时的问题:Loaded runtime CuDNN library: 7.5.0 but source was compiled with: 7.6.5MXNet与TF 2.x GPU共存时的问题:Loaded runtime CuDNN library: 7.5.0 but source was compiled with: 7.6.5

 

将系统安装的cudnn与MXNet自带的cudnn属性做对比,即可发现版本号略有不同,这是原因所在。在python代码运行时,应会加载python\Lib\site-packages\mxnet下的cudnn64_7.dll,而不是系统安装的cudnn64_7.dll

 

2 解决方法

可以先备份MXNet GPU版本在安装目录(python\Lib\site-packages\mxnet)下的cudnn64_7.dll;

系统安装的cudnn64_7.dll覆盖至MXNet GPU版本在安装目录(python\Lib\site-packages\mxnet)即可

 

3 讨论

如果大家有更好的解决方案,评论区留言,欢迎交流~