15

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

from magenta.models.nsynth import utils
from magenta.models.nsynth.wavenet import fastgen

def wavenet_encode(file_path):

 # Load the model weights.
 checkpoint_path = './wavenet-ckpt/model.ckpt-200000'

 # Load and downsample the audio.
 neural_sample_rate = 16000
 audio = utils.load_audio(file_path, 
                          sample_length=400000, 
                          sr=neural_sample_rate)

 encoding = fastgen.encode(audio, checkpoint_path, len(audio))

 # Reshape to a single sound.
 return encoding.reshape((-1, 16))

# An array of n * 16 frames. 
wavenet_z_data = wavenet_encode(file_path)

我收到以下错误:

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

我应该做什么,我应该安装哪个版本的 tf,以及我需要哪个 CUDA 版本?

4

6 回答 6

16

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

正如错误还暗示的那样,您可以解决此问题:

  • 通过安装 CuDNN 7.0.5(按照此处的说明操作:https ://developer.nvidia.com/cudnn );
  • 或者通过自己为您的系统编译 Tensorflow(按照此处的说明操作:https ://www.tensorflow.org/install/install_sources )。
于 2018-04-21T21:10:37.717 回答
6

在环境中:

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 install --upgrade --force-reinstall tensorflow-gpu==1.9.0 --user用来解决问题。

于 2018-10-19T03:09:09.893 回答
1

benjaminplanche 的回答清楚地回答了这个问题。我想补充一点,希望对您有所帮助。

对于安装 cuDNN,cudnnenv非常方便。

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

pip install cudnnenv
于 2020-06-27T13:05:51.287 回答
0

我删除了:

  cudnn_adv_infer64_8.dll
  cudnn_adv_train64_8.dll
  cudnn_cnn_infer64_8.dll
  cudnn_cnn_train64_8.dll
  cudnn_ops_infer64_8.dll
  cudnn_ops_train64_8.dll
  cudnn64_8.dll

C:\Users\<username>\AppData\Local\Programs\Python\Python38\Lib\site-packages\~orch\lib

C:\Users\<username>\AppData\Local\Programs\Python\Python38\Lib\site-packages\torch\lib

我认为 tensorflow 会在它们退出时自动加载这些 dll。

我不确定这是否会导致其他问题!

于 2021-09-18T13:59:01.333 回答
0

安装 Tensorflow Nightly 为我解决了这个问题:

pip3 install tf-nightly-gpu

于 2019-12-18T22:08:51.563 回答
0

我建议安装编译的版本cudnntensorflow

sudo apt install libcudnn7-dev=7.0.5.15-1+cuda<x> libcudnn7=7.0.5.15-1+cuda<x>

<x>符号必须替换为cuda您拥有的版本,例如cuda版本9.0替换为9.0.

稍后冻结 apt 中不会自动更新的版本:

sudo apt-mark hold libcudnn7 libcudnn7-dev
于 2018-04-26T08:42:29.600 回答