Tengo una compilación de clasificador de sentimientos con Keras que quiero ejecutar con mi GPU. Como recomienda la página de soporte de la GPU de Tensorflows, tengo instaló Docker y descargó una imagen de Tensorflow Docker.

Ahora, cuando intento ejecutar mi código en una de las imágenes de Tensorflow, obtengo códigos de error cuando intento importar cosas como Keras o Pandas.

Soy un poco novato en lo que respecta a Docker, pero según tengo entendido, las imágenes simplemente no tienen esas bibliotecas instaladas. Entonces, ¿qué hago si quiero usar más además de Tensorflow o cualquier otra cosa que esté instalada en la imagen? ¿Cómo agrego estos a la imagen?

1
Christian O. 14 mar. 2021 a las 13:24

1 respuesta

La mejor respuesta

Opción 1: agregue paquetes al contenedor:

docker exec <container_name> pip install ...

La desventaja es que tendrás que repetir esto cada vez que vuelvas a crear el contenedor.

Opción 2: crea tu propia imagen, usando la imagen de tensorflow como base

Cree un archivo llamado Dockerfile:

FROM tensorflow/tensorflow:latest-gpu-jupyter  # change if necessary
RUN pip install ...
# Visit https://docs.docker.com/engine/reference/builder/ for format reference

Luego construye una imagen a partir de ella:

cd /directory/with/the/Dockerfile
docker build -t my-tf-image .

Luego ejecuta usando tu propia imagen:

docker run --gpus all -d -v /some/data:/data my-tf-image

También recomiendo usar docker-compose para el entorno de desarrollo para que no tenga que recordar todos estos comandos. Puede crear un docker-compose.yml y describir el contenedor usando el formato YAML. Entonces puede simplemente docker-compose build para construir y docker-compose up para ejecutar.

1
anemyte 14 mar. 2021 a las 13:15