¿Cómo usar la GPU TensorFlow?

¿Cómo usar la versión de GPU TensorFlow en lugar de la versión de CPU en Python 3.6 x64?

import tensorflow as tf 

Python está usando mi CPU para cálculos.
Puedo notarlo porque tengo un error:

Su CPU admite instrucciones que este binario TensorFlow no se compiló para usar: AVX2

He instalado tensorflow y tensorflow-gpu.

¿Cómo cambiar a la versión GPU?

Sigue este tutorial de Tensorflow GPU. Lo hice y funciona perfectamente.

¡Atención! – ¡Instala la versión 9.0! La versión más reciente no es compatible con Tensorflow-gpu

Pasos:

  1. Desinstale su antiguo tensorflow
  2. Instalar tensorflow-gpu pip install tensorflow-gpu
  3. Instale la tarjeta gráfica y controladores de Nvidia (probablemente ya tenga)
  4. Descargar e instalar CUDA
  5. Descargar e instalar cuDNN
  6. Verificar por progtwig simple

from tensorflow.python.client import device_lib print(device_lib.list_local_devices())

Traté de seguir el tutorial anterior. La cosa es que los cambios de tensorflow cambian mucho, al igual que las versiones de NVIDIA necesarias para ejecutarse en una GPU. El siguiente problema es que la versión del controlador determina la versión del kit de herramientas, etc. A partir de hoy, esta información sobre los requisitos del software debería arrojar alguna luz sobre cómo interactúan:

 NVIDIA® GPU drivers —CUDA 9.0 requires 384.x or higher. CUDA® Toolkit —TensorFlow supports CUDA 9.0. CUPTI ships with the CUDA Toolkit. cuDNN SDK (>= 7.2) Note: Make sure your GPU has compute compatibility >3.0 (Optional) NCCL 2.2 for multiple GPU support. (Optional) TensorRT 4.0 to improve latency and throughput for inference on some models. 

Y aquí encontrará los requisitos actualizados indicados por tensorflow (que esperamos que estos actualicen periódicamente).

Primero necesita instalar tensorflow-gpu , porque este paquete es responsable de los cálculos de gpu. También recuerde ejecutar su código con la variable de entorno CUDA_VISIBLE_DEVICES = 0 (o si tiene múltiples gpus, ponga sus índices con una coma). Puede haber algunos problemas relacionados con el uso de gpu. Si tensorflow no usa gpu de todos modos, intente esto

Curiosamente, aunque el sitio web de tensorflow 1 menciona que CUDA 10.1 es compatible con tensorflow-gpu-1.13.1, no funciona hasta ahora. tensorflow-gpu se instala correctamente, sin embargo, pero arroja errores extraños cuando se ejecuta.

Hasta ahora, la mejor configuración para ejecutar tensorflow con GPU es CUDA 9.0 con tensorflow_gpu-1.12.0 en python3.6.

Siguiendo esta configuración con los pasos mencionados en https://stackoverflow.com/a/51307381/2562870 (la respuesta anterior), funcionó para mí 🙂