He instalado la versión GPU de tensorflow en Ubuntu 14.04.
Estoy en un servidor de GPU donde tensorflow puede acceder a las GPU disponibles.
Quiero ejecutar tensorflow en las CPU.
Normalmente puedo usar env CUDA_VISIBLE_DEVICES=0
para ejecutar en GPU no. 0.
¿Cómo puedo elegir entre las CPU en su lugar?
No estoy interesado en reescribir mi código con with tf.device("/cpu:0"):
python
tensorflow
Alexander R Johansen
fuente
fuente
CUDA_VISIBLE_DEVICES
la variable de entorno en lugar de cambiar la configuración en el código?También puede establecer la variable de entorno en
sin tener que modificar el código fuente.
fuente
Si las respuestas anteriores no funcionan, intente:
fuente
tf.keras.Sequential
modelos.Para mí, solo la configuración funciona
CUDA_VISIBLE_DEVICES
con precisión-1
:Trabajos:
No no trabajar:
fuente
Simplemente usando el código a continuación.
fuente
En algunos sistemas hay que especificar:
ANTES de importar tensorflow.
fuente
Podrías usar
tf.config.set_visible_devices
. Una función posible que le permite establecer si y qué GPU usar es:Suponga que está en un sistema con 4 GPU y desea usar solo dos GPU, la que tiene
id = 0
y la que tieneid = 2
, entonces el primer comando de su código, inmediatamente después de importar las bibliotecas, sería:En su caso, para usar solo la CPU, puede invocar la función con una lista vacía :
Para completar, si desea evitar que la inicialización en tiempo de ejecución asigne toda la memoria en el dispositivo, puede usar
tf.config.experimental.set_memory_growth
. Finalmente, la función para administrar qué dispositivos usar, ocupando la memoria de la GPU de forma dinámica, se convierte en:fuente
Otra posible solución a nivel de instalación sería buscar la única variante de CPU: https://www.tensorflow.org/install/pip#package-location
En mi caso, esto da ahora mismo:
Simplemente seleccione la versión correcta. Puntos de bonificación por usar un venv como se explica, por ejemplo, en esta respuesta .
fuente