Tensorflow 加载模型权重后的CuDNN库兼容性错误

Tensorflow 加载模型权重后的CuDNN库兼容性错误,tensorflow,magenta,Tensorflow,Magenta,我正在尝试加载NSynth权重,我正在使用tf版本1.7.0 来自magenta.models.nsynth导入utils 从magenta.models.nsynth.wavenet导入fastgen def wavenet_编码(文件路径): #加载模型权重。 检查点路径='。/wavenet ckpt/model.ckpt-200000' #加载和降低音频采样。 神经抽样率=16000 音频=utils.load\u音频(文件路径, 样本长度=400000, sr=神经(采样率) 编码=快

我正在尝试加载NSynth权重,我正在使用tf版本1.7.0

来自magenta.models.nsynth导入utils
从magenta.models.nsynth.wavenet导入fastgen
def wavenet_编码(文件路径):
#加载模型权重。
检查点路径='。/wavenet ckpt/model.ckpt-200000'
#加载和降低音频采样。
神经抽样率=16000
音频=utils.load\u音频(文件路径,
样本长度=400000,
sr=神经(采样率)
编码=快速生成编码(音频、检查点路径、镜头(音频))
#重塑成单一的声音。
返回编码。重塑(-1,16))
#n*16帧的数组。
wavenet_z_数据=wavenet_编码(文件路径)
我得到以下错误:

tensorflow/stream_executor/cuda/cuda_dnn.cc:396]加载的运行时CuDNN 库:7103(兼容版本7100),但源代码已编译 与7005兼容(兼容版本7000)。如果使用二进制安装, 升级您的CuDNN库以匹配。如果是从源头上建造的,则制作 确保运行时加载的库与兼容版本匹配 在编译配置期间指定


我应该怎么做?我应该安装哪个版本的tf?我到底需要哪个CUDA版本?

正如错误所说,您使用的Tensorflow版本是为CuDNN 7.0.5编译的,而您的系统安装了CuDNN 7.1.3

正如错误所示,您可以解决此问题:

  • 通过安装CuDNN 7.0.5(遵循此处的说明:)
  • 或者自己为您的系统编译Tensorflow(请按照此处的说明进行操作:)

我建议安装
cudnn
版本,该版本的
tensorflow
编译时使用:

sudo apt install libcudnn7-dev=7.0.5.15-1+cuda<x> libcudnn7=7.0.5.15-1+cuda<x>
环境署:

ubuntu16.04   
cuda9.0   
cudnn7.0  
tensorflow 1.11.0  
python 3.5
我尝试使用tensorflow训练目标检测,我遇到了以下问题:

2018-10-18 21:31:36.796017: E tensorflow/stream_executor/cuda/cuda_dnn.cc:343] Loaded runtime CuDNN library: 7.0.5 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.
Segmentation fault (core dumped)
这是因为tensorflow版本更高


我使用
pip3安装--upgrade--force重新安装tensorflow gpu==1.9.0--user
来解决这个问题

每晚安装Tensorflow解决了我的问题:

pip3每晚安装tf gpu

清楚地回答了这个问题。我想补充一点,我希望你会觉得它有帮助

安装cuDNN非常方便

就像一个管理器,可以管理各种版本的cuDNN。 使用pip安装cudnnenv很容易:

pip install cudnnenv

我的正好相反;TF不知何故是用新版本编译的。由于Nvidia的默认版本似乎是可下载的.deb文件,apt不知道其他版本。因此,我需要从Nvidia下载较新的.deb文件。谢谢,它适合我。我有(1)相同的错误(版本不同),(2)将cuDNN升级到7.4.x不起作用,(3)7.2.1仅适用于CUDA 9.2,(4)我不想自己重新构建包,(5)夜间版本没有帮助。您的解决方案是我在尝试之前忽略了两次的解决方案,但它确实有效!而不是重新编译TensorFlow,甚至降级它的工作。我做了这个
pip安装-U tensorflow==1.9.0
,问题就解决了。
pip install cudnnenv