
Recientemente configuré WSL2 (Windows 10, 21H2) con soporte CUDA/Docker para entrenar algunas redes neuronales. Para esto seguí las instrucciones de esta guía:https://docs.nvidia.com/cuda/wsl-user-guide/index.html
Una vez que terminé, ejecuté una imagen como se especifica en el documento que vinculé:
docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter
En este punto, puedo iniciar el navegador y trabajar en una computadora portátil Jupyter compatible con GPU. Verifico esto ejecutando:
import tensorflow as tf
tf.config.list_physical_devices('GPU')
El resultado confirma que la GPU está disponible:
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
.
Una vez que termino, guardo mis cambios y detengo CTRL-C fuera del contenedor.
Hasta este punto, todo funciona como espero.
Para reanudar el trabajo he estado usando docker start -i happy_bose
¿dónde happy_bose
está el nombre del contenedor que ejecuté anteriormente?
Sin embargo, la compatibilidad con GPU no existe (la llamada a tf.config.list_physical_devices('GPU')
devuelve una lista vacía).
Esperaba docker start -i happy_bose
iniciar el contenedor con soporte para GPU, pero este no es el caso. ¿Hay alguna manera de reutilizar un contenedor con soporte para GPU o necesito crearlo y comenzar a usarlo docker run
cada vez?