web-dev-qa-db-fra.com

Erreur de compatibilité de la bibliothèque CuDNN après le chargement des poids de modèle

J'essaie de charger des poids NSynth et j'utilise la version 1.7.0 de tf 

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)

Je reçois l'erreur suivante: 

tensorflow/stream_executor/cuda/cuda_dnn.cc: 396] CuDNN d'exécution exécuté. bibliothèque: 7103 (version de compatibilité 7100) mais le source a été compilé avec 7005 (version de compatibilité 7000). Si vous utilisez une installation binaire, mettre à niveau votre bibliothèque CuDNN pour correspondre. Si vous construisez à partir de sources, faites Assurez-vous que la bibliothèque chargée au moment de l'exécution correspond à une version compatible spécifié lors de la configuration de la compilation.

Que dois-je faire et quelle version de tf dois-je installer et exactement de quelle version CUDA ai-je besoin?

5
user3776458

Comme le dit l'erreur, la version de Tensorflow que vous utilisez est compilée pour CuDNN 7.0.5 alors que CuDNN 7.1.3 est installé sur votre système.

Comme le suggère également l'erreur, vous pouvez résoudre ce problème:

7
Aldream

Au env:

ubuntu16.04   
cuda9.0   
cudnn7.0  
tensorflow 1.11.0  
python 3.5

J'essaie de former la détection d'objet avec tensorflow, je rencontre ce problème: 

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)

c'est parce que la version tensorflow est plus élevée;

J'utilise pip3 install --upgrade --force-reinstall tensorflow-gpu==1.9.0 --user pour résoudre le problème. 

5
zack

Je suggère d'installer la version de cudnn qui tensorflow est compilé avec:

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

Le symbole <x> doit être remplacé par la version cuda que vous avez, par exemple. pour cuda version 9.0, remplacez-le par 9.0.

Plus tard, geler la version dans apt qui ne se mettrait pas automatiquement à jour:

Sudo apt-mark hold libcudnn7 libcudnn7-dev
0
Primoz