J'ai remarqué que certaines versions plus récentes de TensorFlow sont incompatibles avec les anciennes versions de CUDA et cuDNN. Existe-t-il un aperçu des versions compatibles ou même une liste des combinaisons officiellement testées? Je ne le trouve pas dans la documentation TensorFlow.
Réponses
Trop de publicités?En général:
Vérifiez la version CUDA:
cat /usr/local/cuda/version.txt
et cuDNN version:
grep CUDNN_MAJOR -A 2 /usr/local/cuda/include/cudnn.h
et installer une association comme indiqué ci-dessous dans l'image ou ici.
Les images ci-dessous et le lien de fournir une vue d'ensemble de la officiellement pris en charge/testé les combinaisons de CUDA et TensorFlow sur Linux, macOS et Windows:
Mineur configurations:
Puisque les caractéristiques ci-dessous, dans certains cas, peut-être trop large, voici une configuration spécifique qui fonctionne:
tensorflow-gpu==1.12.0
cuda==9.0
cuDNN==7.1.4
Le correspondant cudnn peut être téléchargé ici.
(chiffres mis à jour Jun 29, 2019)
Linux GPU
Linux
macOS GPU
macOS
(figure mis à jour le 31 Mai 2018)
Windows
Le tableau de compatibilité donné dans le tensorflow site ne contient pas de versions mineures pour cuda et cuDNN. Toutefois, si les versions ne sont pas remplies, il y aura une erreur lorsque vous essayez d'utiliser tensorflow.
Pour tensorflow-gpu==1.12.0
et cuda==9.0
, la compatibilité cuDNN
version 7.1.4
, qui peut être téléchargé à partir d' ici après l'enregistrement.
Vous pouvez vérifier votre version à l'aide de cudanvcc --version
cuDNN version à l'aide decat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
tensorflow-gpu version à l'aide depip freeze | grep tensorflow-gpu
Mise à JOUR: Depuis tensorflow 2.0, a été libéré, je vais partager le compatible cuda et cuDNN versions pour elle aussi (pour Ubuntu 18.04).
-
tensorflow-gpu
= 2.0.0 -
cuda
= 10.0 -
cuDNN
= 7.6.0
J'avais installé CUDA 10.1 et CUDNN 7.6 par erreur. Vous pouvez utiliser les configurations suivantes (Cela a fonctionné pour moi - à partir du 9/10). :
- Tensorflow-gpu == 1.14.0
- CUDA 10.1
- CUDNN 7.6
- Ubuntu 18.04
Mais j'ai dû créer des liens symboliques pour que cela fonctionne car tensorflow fonctionne à l'origine avec CUDA 10.
sudo ln -s /opt/cuda/targets/x86_64-linux/lib/libcublas.so /opt/cuda/targets/x86_64-linux/lib/libcublas.so.10.0
sudo cp /usr/lib/x86_64-linux-gnu/libcublas.so.10 /usr/local/cuda-10.1/lib64/
sudo ln -s /usr/local/cuda-10.1/lib64/libcublas.so.10 /usr/local/cuda-10.1/lib64/libcublas.so.10.0
sudo ln -s /usr/local/cuda/targets/x86_64-linux/lib/libcusolver.so.10 /usr/local/cuda/lib64/libcusolver.so.10.0
sudo ln -s /usr/local/cuda/targets/x86_64-linux/lib/libcurand.so.10 /usr/local/cuda/lib64/libcurand.so.10.0
sudo ln -s /usr/local/cuda/targets/x86_64-linux/lib/libcufft.so.10 /usr/local/cuda/lib64/libcufft.so.10.0
sudo ln -s /usr/local/cuda/targets/x86_64-linux/lib/libcudart.so /usr/local/cuda/lib64/libcudart.so.10.0
sudo ln -s /usr/local/cuda/targets/x86_64-linux/lib/libcusparse.so.10 /usr/local/cuda/lib64/libcusparse.so.10.0
Et ajoutez ce qui suit à mon ~ / .bashrc -
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cuda/targets/x86_64-linux/lib/