He notado que algunas versiones más nuevas de TensorFlow son incompatibles con versiones anteriores de CUDA y cuDNN. ¿Existe una descripción general de las versiones compatibles o incluso una lista de combinaciones probadas oficialmente? No puedo encontrarlo en la documentación de TensorFlow.
146
Respuestas:
Generalmente:
Verifique la versión de CUDA:
y versión cuDNN:
e instale una combinación como se muestra a continuación en las imágenes o aquí .
Las siguientes imágenes y el enlace proporcionan una descripción general de las combinaciones oficialmente compatibles / probadas de CUDA y TensorFlow en Linux, macOS y Windows:
Configuraciones menores:
Dado que las especificaciones dadas a continuación en algunos casos pueden ser demasiado amplias, aquí hay una configuración específica que funciona:
tensorflow-gpu==1.12.0
cuda==9.0
cuDNN==7.1.4
El cudnn correspondiente se puede descargar aquí .
(cifras actualizadas el 20 de mayo de 2020)
GPU Linux
Linux
GPU macOS
Mac OS
(cifra actualizada el 31 de mayo de 2018)
Ventanas
Actualizado a partir del 14 de enero de 2020: para obtener información actualizada, consulte Enlace para Linux y Enlace para Windows .
fuente
La tabla de compatibilidad dada en el sitio de tensorflow no contiene versiones menores específicas para cuda y cuDNN. Sin embargo, si no se cumplen las versiones específicas, habrá un error cuando intente utilizar tensorflow.
Para
tensorflow-gpu==1.12.0
ycuda==9.0
, lacuDNN
versión compatible es7.1.4
, que se puede descargar desde aquí después del registro.Puede verificar su versión de cuda usando
nvcc --version
versión cuDNN usando
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
versión tensorflow-gpu usando
pip freeze | grep tensorflow-gpu
ACTUALIZACIÓN: desde que se lanzó tensorflow 2.0, compartiré también las versiones compatibles de cuda y cuDNN (para Ubuntu 18.04).
tensorflow-gpu
= 2.0.0cuda
= 10.0cuDNN
= 7.6.0fuente
si está codificando en jupyter notebook y desea verificar qué versión de cuda tf está utilizando, ejecute el siguiente comando directamente en la celda de jupyter:
y para verificar si el gpu es visible para tf:
fuente
Puede usar esta configuración para cuda 10.0 (10.1 no funciona a partir del 3/18), esto se ejecuta para mí:
Instale la versión tensorflow gpu:
fuente
Instalé CUDA 10.1 y CUDNN 7.6 por error. Puede usar las siguientes configuraciones (esto funcionó para mí, a partir del 9/10). :
Pero tuve que crear enlaces simbólicos para que funcione como tensorflow originalmente funciona con CUDA 10.
Y agregue lo siguiente a mi ~ / .bashrc -
fuente
Tuve un problema similar después de actualizar a TF 2.0. La versión de CUDA que informaba TF no coincidía con lo que Ubuntu 18.04 pensaba que había instalado. Decía que estaba usando CUDA 7.5.0, pero pensé que tenía la versión correcta instalada.
Lo que finalmente tenía que hacer era grep de forma recursiva en
/usr/local
paraCUDNN_MAJOR
, y encontró que/usr/local/cuda-10.0/targets/x86_64-linux/include/cudnn.h
, efectivamente, como especifica la versión7.5.0
./usr/local/cuda-10.1
Lo entendí bien, y lo/usr/local/cuda
señalé/usr/local/cuda-10.1
, por lo que fue (y sigue siendo) un misterio para mí por qué TF estaba mirando/usr/local/cuda-10.0
.De todos modos, simplemente me mudé
/usr/local/cuda-10.0
para/usr/local/old-cuda-10.0
que TF no pudiera encontrarlo más y todo funcionó a las mil maravillas.Todo fue muy frustrante, y todavía siento que acabo de hacer un hack aleatorio. Pero funcionó :) y quizás esto ayude a alguien con un problema similar.
fuente