examples - tensorflow neural network
En Windows, la ejecución de "import tensorflow" no genera ningún error de módulo llamado "_pywrap_tensorflow" (22)
En Windows, TensorFlow informa sobre uno o ambos de los siguientes errores después de ejecutar una declaración de
import tensorflow
:
-
No module named "_pywrap_tensorflow"
-
DLL load failed.
Con la versión 1.3.0 de TensorFlow, debe usar Cudnn 6.0 en lugar de Cudnn 5.0 ya que Cudnn 5.0 está dando este error. No olvide agregar la variable de ruta a Cudnn 6.0. Con cudnn64_6.dll su Tensorflow funcionará bien. Lea el siguiente enlace. https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130
Cualquiera de los errores indica que su sistema no ha instalado
MSVCP140.DLL
, que requiere TensorFlow.
Para corregir este error:
-
Determine si
MSVCP140.DLL
está en su%PATH%
. -
Si
MSVCP140.DLL
no está en su%PATH%
, instale el redistribuible de Visual C ++ 2015 (versión x64), que contiene esta DLL.
Después de muchas pruebas y errores, y de asegurarse de que
VC ++ 2015 Redistributable
,
cuDNN
DLL y todas las demás dependencias sean accesibles desde PATH, parece que la
GPU Tensorflow
solo funciona con Python
3.5.2
(a partir de este escrito)
Entonces, si estás usando
Anaconda
-
conda create -n tensorflow-gpu python=3.5.2
-
activate tensorflow-gpu
-
pip install tensorflow-gpu
Luego abra el intérprete de Python y verifique
>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Dispositivo encontrado 0 con propiedades:
nombre: GeForce 940M
mayor: 5 menor: 0
memoryClockRate (GHz) 1.176
pciBusID 0000: 06: 00.0
Memoria total: 2.00GiB
Memoria libre: 1.66GiB
Créditos: esta guía ordenada
Dll no encontrado. Instale Visual C ++ 2015 redistribuible para corregir.
El problema era la biblioteca cuDNN para mí, por alguna razón cudnn-8.0-windows10-x64-v6.0 NO funcionaba. Usé cudnn-8.0-windows10-x64-v5.1 - ¡TODO BIEN!
Mi configuración trabajando con Win10 64 y la Nvidia GTX780M:
- Asegúrese de tener la lib MSVCP140.DLL comprobando su sistema / ruta; si no, consígala here
- Ejecute el instalador de Windows para Python 3.5.3-amd64 desde here - NO intente versiones más nuevas ya que probablemente no funcionen
- Obtenga el CuDNN v5.1 para CUDA 8.0 desde here : póngalo en su carpeta de usuarios o en otra ubicación conocida (lo necesitará en su ruta)
- Obtenga CUDA 8.0 x86_64 desde here
- Configure PATH vars como se espera que apunte a las bibliotecas cuDNN y python (la ruta de Python debe agregarse durante la instalación de Python)
- Asegúrese de que ".DLL" esté incluido en su variable PATHEXT
- Si está utilizando tensorflow 1.3, entonces desea utilizar cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Si ejecuta Windows 32, asegúrese de obtener las versiones de 32 bits de los archivos mencionados anteriormente.
El problema era la biblioteca cuDNN para mí. Pude ejecutar https://www.tensorflow.org/install/install_windows después de agregar el directorio (posiblemente la carpeta bin) de la DLL cuDNN (no el archivo LIB) en la RUTA de Windows.
Para la referencia, instalé TensorFlow desde la fuente usando PIP y mi sistema operativo: Windows 7 e IDE: Visual Studio 2015.
El problema para mí era la biblioteca cuDNN que no cumplía con los requisitos de la tarjeta gráfica. Descargué la versión 6.0 pero para mi GTX980ti, pero la capacidad de cálculo recomendada en el sitio web de nvidia fue 5.1 ( http://developer.nvidia.com/cuda-gpus ), así que descargué 5.1 y reemplacé la versión 6.0 y tan pronto como '' He hecho que comenzó a funcionar.
En caso de que esté intentando instalar GPU tensorflow en Windows, puede encontrar este tutorial fácil e interesante.
Nota: Si está utilizando PyCharm, por ejemplo, debe cambiar el intérprete al entorno conda creado.
En mi caso, el archivo "cudnn64_6.dll" en la carpeta / bin tuvo que ser renombrado a "cudnn64_5.dll" para que el error desapareciera. Pasé fácilmente dos horas para resolver esto, y seguí la guía de instalación oficial al pie de la letra. Esto es cierto para la instalación a través de pip (oficialmente compatible) y conda (compatible con la comunidad).
Intentaré dar la solución que funcionó para mí. Parece que un conjunto diferente de problemas puede conducir a esta situación.
El software de 32 bits funciona en sistemas operativos de 64 bits. Instalé anaconda-3 (32 bits) en mi sistema operativo de 64 bits. Funcionaba perfectamente bien. Decidí instalar tensorflow en mi máquina y no se instalaría al principio. Estaba usando el entorno conda para instalar tensorflow y obtuve este error.
La solución es si está ejecutando un sistema operativo de 64 bits, instale una anaconda de 64 bits y si tiene un sistema operativo de 32 bits, anaconda de 32 bits . Luego siga el procedimiento estándar mencionado en el sitio web de tensorflow para Windows (instalación de anaconda). Esto hizo posible instalar tensorflow sin ningún problema.
Mis dos centavos:
Tuve un montón de problemas al tratar de instalar mi CUDA 8.0 correctamente en Windows 7. Tenía una versión anterior instalada y quería actualizar, así que la desinstalé e intenté instalar CUDA 8.0 (para tensorflow 1.3). La instalación fallaba cada vez, traté de bajar a CUDA 7.5 y pude instalarlo, pero tuve muchos problemas con el tensorflow (similar al problema de PATH descrito aquí). Larga historia corta: lo que funcionó para mí fue:
1) Desinstale CADA componente de NVIDIA (excepto el controlador de gráficos de pantalla)
2) Descargue el kit de herramientas CUDA 8.0 (y el parche) here
3) Verifique el CheckSum MD5 (usé MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533 pero cualquiera lo haría) para asegurarse de que estuvieran bien (sucedió varias veces que el instalador no se descargó correctamente porque aparentemente mi enrutador WiFi).
4) Ejecute el instalador del kit de herramientas CUDA como root
5) descargue cudnn 8.0 v6 y agregue su ubicación a la variable PATH here
Espero que ayude y ahorre algunos dolores de cabeza ...
NOTA: ¡Este script me ayudó mucho a depurar el problema! (Gracias, señor) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
Para aquellos que se ejecutan en hardware antiguo:
Puede obtener este mismo error debido a que tiene una CPU más antigua que usa tensorflow-gpu 1.6.
Si su CPU se realizó antes de 2011, su versión máxima de tensorflow-gpu es 1.5.
Tensorflow 1.6 requiere instrucciones AVX en su CPU. Verificado aquí: documentos de Tensorflow Github
CPU habilitadas para AVX: Wiki AVX CPUs
Lo que hice en mi entorno conda para tensorflow:
pip install --ignore-installed --upgrade tensorflow-gpu==1.5
Para cada versión de Tensorflow, requiere una versión diferente de CuDnn. ¡En www.tensorflow.org, no mencionaron eso en la guía de instalación!
Mi caso usa la versión 1.3 de tensorflow que usa cuDNN 6. https://github.com/tensorflow/tensorflow/releases .
Verifique su versión de tensorfow y la versión de cuDNN si coinciden.
Y configure el entorno de ruta para cuDNN, si aún no funciona, verifique el comentario de @Chris Han.
Para las personas que encuentran esta publicación en 2019, este error también podría ocurrir porque la versión 3.7 de Python no es compatible con TensorFlow (consulte https://www.tensorflow.org/install/pip ). Entonces, verifique la versión de Python:
python --version
En caso de que sea mayor que 3.6, debería reducirse a 3.6. Para Anaconda:
conda install python=3.6
Luego, instale TensorFlow.
pip install tensorflow
Por cierto, no tenía la versión de GPU, por lo que no hubo problemas relacionados con CUDA en mi caso.
Publiqué un enfoque general para solucionar el problema "Error de carga de DLL" en esta publicación en sistemas Windows.
-
Use las Dependencias del analizador de dependencias de DLL para analizar
<Your Python Dir>/Lib/site-packages/tensorflow/python/_pywrap_tensorflow_internal.pyd
y determine la DLL exacta que falta (indicada por un?
lado de la DLL). La ruta del archivo .pyd se basa en la versión de GPU TensorFlow 1.9 que instalé. No estoy seguro de si el nombre y la ruta son los mismos en otras versiones de TensorFlow. -
Busque información de la DLL que falta e instale el paquete apropiado para resolver el problema.
Tengo Win7 Pro de 64 bits en la CPU AMD, no gpu. Estaba siguiendo las instrucciones en "Instalación con pip nativo" en https://www.tensorflow.org/install/install_windows . El paso de instalación fue correcto, pero el intento de importar tensorflow produjo lo infame:
ImportError: ningún módulo llamado ''_pywrap_tensorflow_internal''
Esta parece ser una de esas situaciones en las que muchas cosas no relacionadas pueden salir mal, dependiendo de la configuración, y todas pasan por el mismo error.
En mi caso, la instalación fue MSVCP140.DLL.
Ya tiene MSVCP140.DLL si (a) tiene un archivo C: / Windows / System43 / MSVCP140.DLL, Y (b) si tiene un sistema de 64 bits, entonces adicionalmente tiene C: / Windows / SysWOW64 / MSVCP140. DLL
Lo instalé manualmente, lo cual era innecesario (el redistribuible no es todo el desorden de desarrollo de Visual C ++ y no es grande). Use el enlace publicado anteriormente en este hilo para instalarlo: Visual C ++ 2015 redistribuible .
Además, le recomiendo que anule el directorio de instalación predeterminado para Python y lo coloque en cualquier lugar que no esté bajo C: / Archivos de programa, porque Windows intenta proteger los archivos de escritura allí, lo que causa problemas más adelante.
Uno puede tener la tentación de mantener Powershell / cmd abierto en Windows. Pasé un tiempo razonable hasta que decidí cerrar y volver a abrir mi Powershell solo para darme cuenta de que hice todo bien.
cuDNN causa mi problema. La variable PATH no funciona para mí. Tengo que copiar los archivos en mis carpetas cuDNN en una estructura de carpetas respetuosa de CUDA 8.0.
mi respuesta es solo para usuarios de Windows 10, ya que he intentado lo siguiente en Windows 10. Ampliando algunas de las respuestas anteriores, sugiero esto: si está usando anaconda, puede evitar todo y simplemente instalar anaconda-navigator usando el comando
conda install -c anaconda anaconda-navigator
Luego puede iniciar el navegador desde el símbolo del sistema utilizando el comando
anaconda-navigator
Al ejecutar este comando, obtienes una interfaz gráfica de usuario simple donde puedes crear un entorno virtual, crear el entorno con python = 3.5.2 e instalar el módulo tensorflow-gpu o tensorflow buscando en el módulo en el cuadro de búsqueda usando la interfaz gráfica de usuario, también se encargará de instalar los archivos cuda correctos para usted. Usar el navegador anaconda es la solución más simple.
Si no está usando anaconda, cuide lo siguiente
tensorflow-gpu 1.3 requiere python 3.5.2, kit de desarrollo de cuda 8.0 y cudaDNN 6.0, por lo tanto, al instalar, asegúrese de ejecutar el comando
pip install tensorflow-gpu==1.3
tensorflow-gpu 1.2.1 o menos requiere python 3.5.2, kit de desarrollo de cuda 8.0 y cudaDNN 5.1, por lo tanto, al instalar, asegúrese de ejecutar el comando
pip install tensorflow-gpu==1.2.1
A continuación se detallan los pasos que debe seguir para los dos procesos anteriores Configuración de las variables de ruta Debe tener las siguientes variables del sistema
CUDA_HOME = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0"
CUDA_PATH = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0"
CUDA_PATH_V8.0 = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0"
Tu PATHTEXT debe incluir ".DLL" junto con otras extensiones
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"
Agregue también lo siguiente a su ruta
C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64
C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/extras/CUPTI/libx64;
C:/Windows/SysWOW64;
C:/Windows/System32
Si obtiene errores, puede descargar la ejecución del código siguiente de mrry, este código verificará su configuración y le dirá si algo está mal https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
Referencias: http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html
La referencia anterior es muy útil. Por favor comente para mejorar esta respuesta. Espero que esto ayude, gracias.
tensorflow 1.3 aún no es compatible con cuda 9.0 . Me degrado a cuda 8.0 , luego funciona.
TensorFlow
requiere
MSVCP140.DLL
, que puede no estar instalado en su sistema.
Para resolverlo, abra el terminal y escriba o pegue este enlace:
C:/> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl
Tenga en cuenta que esto es para instalar la versión solo para CPU de TensorFlow.
Para tensorflow solo con CPU:
Había instalado tensorflow usando el comando:
pip3 install --upgrade tensorflow
Este
tensorflow 1.7
instalado
tensorflow 1.7
Pero no se pudo importar el flujo de tensor desde
python 3.6.5 amd64
usando:
import tensorflow as tf
Entonces, bajé la versión de tensorflow de
1.7
a
1.5
usando el siguiente comando:
pip3 install tensorflow==1.5
Esto desinstaló la versión anterior e instaló
1.5
.
Ahora funciona.
Parece que mi
CPU no admite el conjunto de instrucciones AVX
que se necesita en
tensorflow 1.7
Tenía
MSVCP140.DLL
en las carpetas del sistema y .DLL en la variable PATHEXT en Variable de entorno.