Después de crear el entorno tensorflow bajo anaconda, instalé tensorflow-gpu. Luego intenté importar tensorflow para verificar si está correctamente instalado, pero obtuve este error:
ImportError: Could not find 'cudnn64_7.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Note that installing cuDNN is a separate step from installing CUDA, and this DLL is often found in a different directory from the CUDA DLLs. You may install the necessary DLL by downloading cuDNN 7 from this URL: https://developer.nvidia.com/cudnn
La configuración es:
NVIDIA GTX 1080 CUDA 9.0 cuDNN 6.0 tensorflow-gpu 1.5
Las variables de entorno son:
CUDA_PAT: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 CUDA_PATH_V9_0: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
Las variables% Path% son:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp C:\Users\yshen\AppData\Local\cudnn-8.0-windows10-x64-v6.0\cuda\bin
es obvio que instalé cuDNN6.0, no sé por qué el error muestra “No se pudo encontrar ‘cudnn64_7.dll'”. ¿Por qué busca automáticamente cudnn64_7.dll en lugar de cudnn64_6.dll?
También obtuve “ImportError: No pude encontrar ‘cudnn64_7.dll'” cuando instalé TensorFlow 1.8. Tengo ambiente de anaconda.
Pero después de instalar Nvidia cuDNN v7.1.3 (17 de abril de 2018), para CUDA 9.0, todo comenzó a funcionar. Tenga en cuenta que uno debe registrarse como desarrollador de Nvidia para poder descargar los paquetes de instalación.
Luego, solo siga las instrucciones en la página https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
Para ventanas:
3.3. Instalación de cuDNN en Windows Los siguientes pasos describen cómo construir un progtwig dependiente de cuDNN. En las siguientes secciones: su ruta de directorio CUDA se denomina C: \ Archivos de progtwig \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 -tu ruta de directorio cuDNN se conoce como
Navegue a su directorio que contiene cuDNN.
Descomprima el paquete cuDNN. -cudnn-9.0-windows7-x64-v7.zip o -cudnn-9.0-windows10-x64-v7.zip
Copie los siguientes archivos en el directorio de CUDA Toolkit. -Copia \ cuda \ bin \ cudnn64_7.dll a C: \ Archivos de progtwig \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 \ bin. -Copia \ cuda \ include \ cudnn.h a C: \ Archivos de progtwig \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 \ include. -Copia \ cuda \ lib \ x64 \ cudnn.lib a C: \ Archivos de progtwig \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 \ lib \ x64.
Configure las siguientes variables de entorno para que indiquen dónde se encuentra cuDNN. Para acceder al valor de la variable de entorno $ (CUDA_PATH), realice los siguientes pasos: -Abra un símbolo del sistema desde el menú Inicio. -Escribe Ejecutar y pulsa Intro. -Issue el comando sysdm.cpl de control. -Seleccione la pestaña Avanzado en la parte superior de la ventana. -Haga clic en Variables de entorno en la parte inferior de la ventana. -Asegúrese de establecer los siguientes valores: –Variable Name: CUDA_PATH –Variable Value: C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0
Incluya cudnn.lib en su proyecto de Visual Studio. -Abra el proyecto de Visual Studio y haga clic derecho en el nombre del proyecto. -Haga clic en Vinculador> Entrada> Dependencias Adicionales. -Agregar cudnn.lib y haga clic en Aceptar.
Según su respuesta anterior, parece que descubrió que tensorflow-gpu 1.5 precomstackdo no es compatible con CUDA 9.0 + CudNN 6.0. Hay dos soluciones posibles para su respuesta, si desea usar tensorflow-gpu 1.5:
1, actualice su cadena de herramientas CUDA a CUDA 9.0 + Cudnn 7.0 (actualmente Cudnn 7.0.5 para CUDA 9.0).
2, vuelva a comstackr el objective tensorflow-gpu 1.5 para CUDA 9.0 + cudnn 6.0.
Sugiero elegir la primera opción para mayor facilidad. Pero la página web oficial de tensorflow 1.5 dosis no niega la posibilidad de la opción 2: https://github.com/tensorflow/tensorflow/releases/tag/v1.5.0
Sólo tienes que encontrar la solución:
Revisé \ tensorflow \ python \ platform \ build_info.py y encontré:
msvcp_dll_name = 'msvcp140.dll' cudart_dll_name = 'cudart64_90.dll' cuda_version_number = '9.0' nvcuda_dll_name = 'nvcuda.dll' cudnn_dll_name = 'cudnn64_7.dll' cudnn_version_number = '7'
Se asume que la versión cudnn es 7. Así que solo hay que corregirlo como:
cudnn_dll_name = 'cudnn64_6.dll' cudnn_version_number = '6'