228 votes

Quelles combinaisons de versions TensorFlow et CUDA sont compatibles?

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.

303voto

Fábio Ferreira Points 1292

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

enter image description here

Linux

enter image description here

macOS GPU

enter image description here

macOS

enter image description here

(figure mis à jour le 31 Mai 2018)

Windows

enter image description here

31voto

Atul Balaji Points 461

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 cuda
nvcc --version

cuDNN version à l'aide de
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

tensorflow-gpu version à l'aide de
pip 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

5voto

Ketki Shroff Points 61

Fonctionne: tensorflow 1.13.1, CUDA 10, CUDNN 7.4.2, python 3.6 (ne fonctionne pas bien avec 3.7 .. 3.7 a de nombreux bugs) Pour Windows 10

3voto

Vous pouvez utiliser cette configuration pour cuda 10.0 (10.1 ne fonctionne pas à partir du 3/18), cela fonctionne pour moi:

  • tensorflow> = 1.12.0
  • tensorflow_gpu> = 1,4

Installez la version tensorflow gpu:

 pip install tensorflow-gpu==1.4.0
 

1voto

yatish h r Points 151

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/
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X