No se puede importar Tensorflow para GPU en Windows 10

Intento instalar la versión gpu de Tensorflow en mi máquina, pero aparece este error al intentar ‘importar tensorflow


ImportError Traceback (última llamada más reciente) C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_tensorflo w_internal.py en swig_import_helper () 17 try: —> 18 return importlib.import_module (mname) 19 excepto ImportError:

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib__init __. Py en import_module (name, pac kage) 125 level + = 1 -> 126 return _bootstrap._gcd_import (name [level:], package, level) 127

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py en _gcd_import (nombre, nivel, nivel)

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py en _find_and_load (nombre, import_)

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py en _find_and_load_unlock ed (name, import_)

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py en _load_unlocked (espec.)

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py en module_from_spec (espec.)

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap_external.py en create_modul e (self, spec)

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib_bootstrap.py en _call_with_frames_rem oved (f, * args, ** kwds)

ImportError: Error en la carga de DLL: no se pudo encontrar el módulo especificado.

Durante el manejo de la excepción anterior, ocurrió otra excepción:

ImportError Traceback (última llamada más reciente) C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_tensorflo w.py en () 40 sys.setdlopenflags (_default_dlopen_flags | ctypes.RTLD_GLOBAL de tensorflow.python.pywrap_tensorflow_internal import * 42 de tensorflow.python.pywrap_tensorflow_internal importar versión

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_tensorflo w_internal.py in () 20 return importlib.import_module_pañe en las partes de la información que puede encontrar en este sitio.

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_tensorflo w_internal.py en swig_import_helper () 19, excepto las partes de la redacción de las cosas, las partes de las partes, las partes de las partes, las partes de las partes, las partes de las partes, las partes de las partes, las partes de las personas )

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib__init __. Py en import_module (name, pac kage) 125 level + = 1 -> 126 return _bootstrap._gcd_import (name [level:], package, level) 127

ImportError: ningún módulo llamado ‘_pywrap_tensorflow_internal’

Durante el manejo de la excepción anterior, ocurrió otra excepción:

ImportError Traceback (última llamada más reciente) en () —-> 1 importar tensorflow

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow__init __. Py in () 22 23 # pylint: disable = wildcard-import —> 24 de tensorflow.python import * 25 # pylint: enable = wildcard- importar 26

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python__init __. Py in () 49 importa número como np 50 —> 51 desde tensorflow.python importa pywrap_tensorflow 52 53 # Buffer de protocolo

C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_tensorflo w.py en () 50 por algunas razones y soluciones comunes. Incluya todo el seguimiento de la stack 51 sobre este mensaje de error cuando solicite ayuda. “” “% Traceback.format_exc () —> 52 raise ImportError (msg) 53 54 # pylint: enable = wildcard-import, g-import-not -en la parte superior, sin usar-importar, línea- demasiado larga

ImportError: Traceback (última llamada más reciente): Archivo “C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_t ensorflow_internal.py”, línea 18, en swig_import_helper return importlib.import_module (mname) File “C: \ Users \ snh5_000 \ Anaconda3 \ lib \ importlib__init __. Py”, línea 126, en imp ort_module return _bootstrap._gcd_import (nombre [nivel:], paquete, nivel) Archivo “”, línea 986, en _gcd_import Archivo “” , línea 969, en _find_and_load File “”, línea 958, en _find_and_load_unlocked File “”, línea 666, en _load_unlocked
Archivo “”, línea 577, en module_from_spec
Archivo “”, línea 906, en create_module Archivo “”, línea 222, en _call_with_frames_removed ImportError: Error en la carga de DLL: no se pudo encontrar el módulo especificado.

Durante el manejo de la excepción anterior, ocurrió otra excepción:

Seguimiento (última llamada más reciente): archivo “C: \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_t ensorflow.py”, línea 41, desde tensorflow.python.pywrap_tensorflow_internal importación * Archivo “C : \ Users \ snh5_000 \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ pywrap_t ensorflow_internal.py “, línea 21, en _pywrap_tensorflow_internal = swig_import_helper () Archivo” C: \ Users \ snh5_000 \ Anaconda3 \ este / progtwig de sitio web / archivo tensorflow \ python \ pywrap_t ensorflow_internal.py “, línea 20, en swig_import_helper return importlib.import_module (‘_ pywrap_tensorflow_internal’) File.P.P.P.P.P.P.P.P. ._gcd_import (nombre [nivel:], paquete, nivel) ImportError: no hay un módulo llamado ‘_pywrap_tensorflow_internal’

Error al cargar el tiempo de ejecución nativo de TensorFlow.

Consulte https://www.tensorflow.org/install/install_sources#common_installation_probl ems

Por algunas razones y soluciones comunes. Incluya el seguimiento completo de la stack sobre este mensaje de error cuando solicite ayuda.

Ejecutando Windows 10, Python 3.5.2, Anaconda 4.2.0 de 64 bits. Se instaló tensorflow-gpu utilizando ‘pip install tensorflow-gpu’.

He intentado las correcciones en https://github.com/tensorflow/tensorflow/issues/5949 , es decir, ejecutando Microsoft Visual C ++ 2015 Redistributable Update 3 y confirmando que tenía las siguientes DLL en System32 / SysWOW64 / mi carpeta de Python:

KERNEL32.dll

WSOCK32.dll

WS2_32.dll

SHLWAPI.dll

python35.dll

MSVCP140.dll

VCRUNTIME140.dll

api-ms-win-crt-runtime-l1-1-0.dll

api-ms-win-crt-heap-l1-1-0.dll

api-ms-win-crt-utility-l1-1-0.dll

api-ms-win-crt-stdio-l1-1-0.dll

api-ms-win-crt-string-l1-1-0.dll

api-ms-win-crt-math-l1-1-0.dll

api-ms-win-crt-convert-l1-1-0.dll

api-ms-win-crt-environment-l1-1-0.dll

api-ms-win-crt-filesystem-l1-1-0.dll

api-ms-win-crt-time-l1-1-0.dll

Vale la pena señalar que la versión de cpu de Tensorflow se importa y funciona bien, pero cuando bash usar la versión gpu obtengo el error anterior. Supongo que esto se debe a un error de mi parte en la configuración de CUDA toolkit / cudNN, pero creo que hice todo lo que se indica en las instrucciones correctamente. Me aseguré de tener una entrada en la variable de entorno PATH para el kit de herramientas de CUDA (que lleva a \ bin y \ libnvvp) y agregue una para cudNN (que lleva a \ cuda).

¿Alguna idea u otra información que necesitarías para ayudar?

Intente cambiar el nombre de cudnn64_6.dll a cudnn64_5.dll en C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin .

CUDA_HOME tener CUDA_HOME lleva a \cuda y %CUDA_HOME%\bin anexadas a su PATH. Además, tensorflow a partir de ahora solo es compatible con cudNN 5.1, asegúrese de tenerlo.

¿Has intentado apagarlo y volver a encenderlo? Hablando en serio. Si su terminal de línea de comando se ejecuta durante las instalaciones de CUDA y cuDNN, las variables de entorno no se actualizan hasta que cierre y vuelva a abrir el terminal. Sé que es simple, pero luché durante una hora antes de que un simple reinicio resolviera el mismo error de importación.

Tuve el mismo problema al ejecutar Windows 10, Anaconda 4.3.21 64bit, Python 3.5.3 y TensorFlow 1.2.0.
Sin embargo, el problema se solucionó instalando cuDNN v5.1 en lugar de v6.0 como se propone aquí https://stackoverflow.com/a/43566341/3830240

Todavía recibí el error _pywrap_tensorflow_internal después de instalar cuDNN 5.1 (sí, tenía PATH configurado correctamente). Tuve mejor suerte al instalar tensorflow_gpu desde este sitio . Esto requiere cuDNN 6.0, no 5.1. Desafortunadamente, actualmente solo tienen Tensorflow 1.1 para sistemas GPU.

Probé todas las soluciones aquí y no me funcionó. Consulte este enlace para conocer los requisitos y asegúrese de tener las versiones compatibles. También agregué todas las rutas cuDNN a mis variables de entorno y tampoco me olvido de copiar los contenidos de lib , bin e include en las mismas carpetas dentro de su instalación de CUDA.

Esto es lo que funcionó para mí. Me referí al sitio web de Tensorflow para encontrar la versión de CudaNN actualmente soportada. Cuando resolví mi problema, era CudaNN 6.x. La última versión, en mi caso 7 DLL no se carga con tensorflow, y si intenta renombrarla, se producen errores de memoria.

Se debe tener en cuenta que a partir de la versión 1.0 hasta la versión 1.2, Tensorflow necesitaba Cuda8 y cudnnv5.1 . Por lo tanto, es necesario tener instalado cudnnv5.1.
Esta pregunta se hizo el April 24 2017 Esto significa que el OP estaba intentando instalar la versión 1.1.0 (en ese momento, la última versión) que en el momento necesitaba cudnnv5.1 y python3.5. Así que necesitaba tener cudnnv5.1 para solucionar su problema.

Sin embargo, si está intentando instalar la última versión de Tensorflow , que es algo más grande que 1.3.0, necesita cudnnv6.0 +.
Si está recibiendo este error en 1.3.0, entonces significa que necesita cudnnv6.0. pon eso en tu PATH y estarás bien.

No funcionó para mí tratando de cambiar las versiones de archivos DLL. Después de luchar con el error de importación tensorflow-gpu durante un par de semanas, finalmente descubrí que necesitaba hacer que los directorios respectivos (CUDA, cuDNN y CUPTI) coincidieran con mi variable de entorno% PATH%. Estoy usando CUDA 9.0, cuDNN v7.0 con Tensorflow 1.11.

 C:\> SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;%PATH% C:\> SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64;%PATH% C:\> SET PATH=C:\tools\cuda\bin;%PATH% 

https://www.tensorflow.org/install/gpu