neural network español descargar course tensorflow

español - tensorflow neural network



tensorflow en la GPU: no se conocen dispositivos, a pesar de que el dispositivo de cuda devuelve un resultado "PASS" (4)

Nota: esta pregunta se hizo inicialmente en github , pero se pidió que estuviera aquí en su lugar

Tengo problemas para ejecutar tensorflow en gpu, y no parece ser el problema habitual de configuración de cuda, porque todo parece indicar que cuda está configurada correctamente.

El síntoma principal: cuando ejecuto tensorflow, mi gpu no se detecta ( el código que se está ejecutando y su salida ).

Lo que difiere de los problemas habituales es que cuda parece estar instalado correctamente y ejecutar ./deviceQuery desde muestras de cuda es satisfactorio ( output ).

Tengo dos cartas gráficas:

  • una antigua GTX 650 utilizada para mis monitores (no quiero usarla con tensorflow)
  • una GTX 1060 que quiero dedicar a tensorflow

Yo suelo:

He intentado:

  • agregando /usr/local/cuda/bin/ a $PATH
  • forzando la colocación de gpu en el script tensorflow usando with tf.device(''/gpu:1''): (y with tf.device(''/gpu:0''): cuando falló, para una buena medida)
  • incluir en la lista blanca la GPU que quería usar con CUDA_VISIBLE_DEVICES , en caso de que la presencia de mi antigua tarjeta no CUDA_VISIBLE_DEVICES causara problemas
  • ejecutar el script con sudo (porque por qué no)

Aquí están las salidas de nvidia-smi y nvidia-debugdump -l , en caso de que sea útil.

En este punto, siento que he seguido todas las migas de pan y no tengo idea de qué podría probar. Ni siquiera estoy seguro de si estoy contemplando un error o un problema de configuración. Cualquier consejo sobre cómo depurar esto sería muy apreciado. ¡Gracias!

Actualización : con la ayuda de Yaroslav en github, recopilé más información de depuración elevando el nivel de registro, pero no parece decir mucho sobre la selección del dispositivo: https://gist.github.com/oelmekki/760a37ca50bf58d4f03f46d104b798bb

Actualización 2 : el uso de theano detecta gpu correctamente, pero curiosamente se queja de que cuDNN es demasiado reciente, y luego de recurrir a la CPU ( código ejecutado , output ). Tal vez ese podría ser el problema con Tensorflow también?


A partir de la salida de registro, parece que está ejecutando la versión de CPU de TensorFlow (PyPI: tensorflow-1.0.0 ) y no la versión de GPU (PyPI: tensorflow-gpu ). La ejecución de la versión de la GPU podría registrar información sobre las bibliotecas de CUDA, o un error si no puede cargarlas o abrir el controlador.

Si ejecuta los siguientes comandos, debería poder usar la GPU en ejecuciones posteriores:

$ pip uninstall tensorflow $ pip install tensorflow-gpu


En mi caso:

pip3 uninstall tensorflow

no es suficiente. Porque cuando reinstalar con:

pip3 install tensorflow-gpu

Todavía es reinstalar tensorflow con la CPU no gpu. Por lo tanto, antes de instalar tensorfow-pgu, traté de eliminar todas las carpetas de tensores relacionadas en los paquetes de sitio. Desinstalación de protobuf, ¡y funciona!

Para la conclusión:

pip3 uninstall tensorflow

Elimine todas las carpetas de tensor en ~ / Python35 / Lib / site-packages

pip3 uninstall protobuf pip3 install tensorflow-gpu


Ninguna de las otras respuestas aquí funcionó para mí. Después de un poco de retoques descubrí que esto solucionó mis problemas cuando se trataba de Tensorflow construido a partir de binario:

Paso 0: desinstala protobuf

pip uninstall protobuf

Paso 1: Desinstalar tensorflow

pip uninstall tensorflow pip uninstall tensorflow-gpu

Paso 2: Forzar reinstalar Tensorflow con soporte de GPU

pip install --upgrade --force-reinstall tensorflow-gpu

Paso 3: Si aún no lo has hecho, configura CUDA_VISIBLE_DEVICES

Entonces para mí con 2 GPU sería

export CUDA_VISIBLE_DEVICES=0,1


Puede parecer tonto, pero un sudo reboot ha solucionado exactamente el mismo problema para mí y un par de otros.