python - instalar - Tensorflow establece CUDA_VISIBLE_DEVICES dentro de jupyter
install tensorflow windows (2)
Tengo dos GPU y me gustaría ejecutar dos redes diferentes a través de ipynb simultáneamente, sin embargo, el primer portátil siempre asigna ambas GPU.
Usando CUDA_VISIBLE_DEVICES, puedo ocultar dispositivos para archivos de Python, sin embargo, no estoy seguro de cómo hacerlo dentro de una computadora portátil.
¿Hay alguna forma de ocultar diferentes GPU en los portátiles que se ejecutan en el mismo servidor?
Puede establecer variables de entorno en el cuaderno utilizando
os.environ
.
Haga lo siguiente antes de inicializar TensorFlow para limitar TensorFlow a la primera GPU.
import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" # see issue #152
os.environ["CUDA_VISIBLE_DEVICES"]="0"
Puede verificar que tenga los dispositivos correctos visibles para TF
from tensorflow.python.client import device_lib
print device_lib.list_local_devices()
Tiendo a usarlo desde un módulo de utilidad como notebook_util
import notebook_util
notebook_util.pick_gpu_lowest_memory()
import tensorflow as tf
Puedes hacerlo más rápido sin importar nada simplemente usando magics :
%env CUDA_DEVICE_ORDER=PCI_BUS_ID
%env CUDA_VISIBLE_DEVICES=0
Tenga en cuenta que todas las variables env son cadenas, por lo que no es necesario usar
"
. Puede verificar que la variable env esté configurada ejecutando:
%env <name_of_var>
. O verifíquelas todas con
%env
.