Saltar al contenido principal

Las 12 mejores imágenes de contenedores Docker para el aprendizaje automático y la IA

Impulsa tus proyectos de IA y ML con estas excelentes imágenes de contenedores Docker, preconfiguradas, optimizadas y listas para acelerar tu flujo de trabajo de desarrollo.
Actualizado 27 feb 2025  · 13 min de lectura

Si eres ingeniero de aprendizaje automático, es probable que hayas utilizado Docker en alguno de tus proyectos, ya sea para desplegar el punto final de inferencia de un modelo o para automatizar el proceso de aprendizaje automático para el entrenamiento, la evaluación y el despliegue. Docker simplifica estos procesos, garantizando la coherencia y la escalabilidad en los entornos de producción.

Pero ésta es la cuestión: ¿Conoces todas las imágenes Docker disponibles en Docker Hub y GitHub? Estas imágenes preconstruidas pueden ahorrarte tiempo al eliminar la necesidad de construir imágenes localmente. En su lugar, puedes extraerlos y utilizarlos directamente en tus Dockerfiles o configuraciones Docker Compose, acelerando el desarrollo y la implantación.

En este blog, exploraremos las 12 mejores imágenes de contenedores Docker diseñadas para flujos de trabajo de aprendizaje automático. Entre ellas se incluyen herramientas para entornos de desarrollo, marcos de aprendizaje profundo, gestión del ciclo de vida del aprendizaje automático, orquestación de flujos de trabajo y grandes modelos lingüísticos.

Si eres nuevo en Docker, sigue este Curso de Introducción a Docker para comprender los conceptos básicos. 

¿Por qué utilizar contenedores Docker para el aprendizaje automático?

Si alguna vez has oído la frase "funciona en mi máquina", entonces comprendes el dolor que supone mantener un entorno de desarrollo coherente en múltiples plataformas y etapas. Aquí es donde entran en juego los contenedores Docker, ya que encapsulan el código, las dependencias y las configuraciones en una imagen portátil, garantizando la coherencia en distintos entornos. Los modelos y la API del punto final se comportan de forma idéntica durante el desarrollo, las pruebas y los despliegues de producción, independientemente de las variaciones en la infraestructura subyacente. 

Al aislar las dependencias -como versiones específicas de Python, PyTorch o CUDA-, Docker garantiza la reproducibilidad de los experimentos y reduce los conflictos entre bibliotecas.

Diagrama de aplicación en contenedor.

Fuente: Docker

Puedes compartir la imagen Docker con tu equipo, y ellos pueden simplemente tirar de la imagen para crear múltiples instancias. Este proceso también agiliza el despliegue empaquetando los modelos en contenedores con API, lo que permite una integración perfecta con herramientas de orquestación como Kubernetes para un servicio de producción escalable.

En resumen, como ingeniero de aprendizaje automático, debes saber manejar imágenes Docker y desplegar contenedores Docker en la nube.

Comprende los conceptos básicos de la contenedorización inscribiéndote en el breve curso Conceptos de Contenedorización y Virtualización.

Entorno de desarrollo Contenedores Docker

Para establecer un flujo de trabajo de desarrollo de aprendizaje automático sin fisuras, necesitas un entorno fiable con herramientas y bibliotecas esenciales. Estas imágenes de contenedores Docker proporcionan configuraciones preconfiguradas de ciencia de datos, codificación y experimentación.

1. Python

Python es la columna vertebral de la mayoría de los proyectos de aprendizaje automático, ya que casi todos los principales marcos y aplicaciones, como TensorFlow, PyTorch y scikit-learn, están construidos en torno a él. Su popularidad se extiende al despliegue, donde Python se utiliza habitualmente en imágenes Docker para crear entornos consistentes para la inferencia de modelos. Por ejemplo:

FROM python:3.8
RUN pip install --no-cache-dir numpy pandas

La sencillez de Python, su extenso ecosistema de bibliotecas y su compatibilidad con herramientas como Docker lo convierten en la mejor opción para el desarrollo y la implementación del aprendizaje automático.

2. Pila de ciencia de datos Jupyter Notebook

Jupyter Docker Stacks proporciona un entorno completo para la ciencia de datos y el aprendizaje automático, que incluye Jupyter Notebook y un conjunto de bibliotecas populares de ciencia de datos. Puedes extraer fácilmente la imagen de Docker Hub y utilizarla localmente. Además, puedes desplegar esta instancia en la nube y compartirla con tu equipo.

Para ejecutar el Cuaderno Jupyter de Ciencia de Datos, utiliza el siguiente comando:

docker run -it --rm -p 8888:8888 jupyter/datascience-notebook

También se puede utilizar con un Dockerfile, para que no tengas que instalar paquetes de Python mediante pip. Sólo tienes que ejecutar la aplicación o ejecutar un script de Python. Aquí tienes un archivo Docker de ejemplo:

FROM jupyter/datascience-notebook:latest

Esta imagen incluye bibliotecas populares como NumPy, pandas, matplotlib y scikit-learn, junto con Jupyter Notebook para la informática interactiva. Es ideal para la exploración de datos, la visualización y los experimentos de aprendizaje automático, por lo que es un elemento básico en la comunidad de la ciencia de datos.

Para más información, consulta el blog Docker para la Ciencia de Datos: Una introducción, donde puedes aprender sobre los comandos Docker, la dockerización de aplicaciones de aprendizaje automático y las mejores prácticas del sector.

3. Cuadernos Kubeflow

Las imágenes de Kubeflow Notebook están diseñadas para funcionar dentro de pods de Kubernetes, que están construidos para flujos de trabajo de aprendizaje automático en Kubernetes. Puedes elegir entre tres tipos de cuadernos: JupyterLab, RStudio y Visual Studio Code (servidor de código).

Pruébalo localmente ejecutando el siguiente comando:

docker run -it --rm -p 8888:8888 kubeflownotebookswg/jupyter-pytorch

Las imágenes de Cuadernos Kubeflow son especialmente útiles en entornos en los que Kubernetes es la infraestructura subyacente. Facilitan proyectos de aprendizaje automático colaborativos y escalables, y se integran perfectamente con Kubernetes para conseguir flujos de trabajo de aprendizaje automático escalables y reproducibles.

Aprende sobre Docker y Kubernetes siguiendo el curso de Containerización y Virtualización con Docker y Kubernetes. Este tema interactivo te permitirá crear y desplegar aplicaciones en entornos modernos.

Marco de aprendizaje profundo Contenedores Docker

Los marcos de aprendizaje profundo requieren entornos optimizados para el entrenamiento y la inferencia. Estas imágenes de contenedor vienen preempaquetadas con las dependencias necesarias, lo que ahorra tiempo de instalación y configuración.

4. PyTorch

PyTorch es uno de los principales marcos de aprendizaje profundo conocidon por su enfoque modular para construir redes neuronales profundas. Puedes crear un Dockerfile y ejecutar tu modelo de inferencia fácilmente sin instalar el paquete PyTorch utilizando el comando pip.

FROM pytorch/pytorch:latest
RUN python main.py

La imagen Docker de PyTorch se utiliza mucho para entrenar y desplegar modelos en entornos de investigación y producción. Proporciona un entorno optimizado para desarrollar e implantar modelos de aprendizaje profundo, especialmente en tareas de procesamiento del lenguaje natural y visión por ordenador.

5. TensorFlow

TensorFlow es otro marco líder de aprendizaje profundo ampliamente adoptado en academia e industria. Funciona bien con el ecosistema de Google y todos los paquetes compatibles con TensorFlow para el seguimiento experimental y el servicio de modelos. 

FROM tensorflow/tensorflow:latest
RUN python main.py

La imagen TensorFlow Docker incluye el paquete TensorFlow Python y sus dependencias, a menudo optimizadas para la aceleración en la GPU. Esto lo hace ideal para construir y desplegar modelos de aprendizaje automático, especialmente en entornos de producción a gran escala.

6. Tiempo de ejecución de aprendizaje profundo NVIDIA CUDA

El tiempo de ejecución de aprendizaje profundo NVIDIA CUDA es esencial para acelerar el cálculo de aprendizaje profundo en las GPU. Puedes añadirlo fácilmente a tu Dockerfile, eliminando la necesidad de configurar manualmente CUDA para ejecutar tareas de aprendizaje automático aceleradas por GPU. 

FROM nvidia/cuda
RUN python main.py

Las imágenes NVIDIA CUDA Docker ofrecen un entorno de ejecución optimizado para aplicaciones de aprendizaje profundo que utilizan GPU NVIDIA, lo que mejora significativamente el rendimiento de los modelos de aprendizaje profundo. 

Puedes obtener más información sobre cómo las GPU aceleranlos flujos de trabajo de la ciencia de datosen la entrada del blog sobre aceleración GPU de Polars.

Aprendizaje automático Gestión del ciclo de vida Contenedores Docker

Gestionar el ciclo de vida del aprendizaje automático -desde la experimentación hasta el despliegue- requiere herramientas especializadas. Estas imágenes Docker agilizan el control de versiones, el seguimiento y el despliegue.

7. MLflow

MLflow es una plataforma de código abierto para gestionar el ciclo de vida del aprendizaje automático, incluyendo la experimentación, la reproducibilidad y el despliegue. Puedes ejecutar el servidor MLflow utilizando el siguiente comando, que proporcionará el servidor MLflow para almacenar y versionar experimentos, modelos y artefactos. También proporciona un panel interactivo para que los gestores vean los experimentos y los modelos. 

docker run -it --rm -p 9000:9000 ghcr.io/mlflow/mlflow

8. Transformadores de Caras Abrazadas

La Transformación de Caras Abrazadas se utiliza ampliamente para varias aplicaciones, desde encontrar grandes modelos lingüísticos hasta construir modelos de generación de imágenes. Está construido sobre PyTorch, TensorFlow y otros importantes marcos de aprendizaje profundo. Esto significa que puedes utilizarlo para cargar cualquier modelo de aprendizaje automático, ajustarlo, realizar un seguimiento del rendimiento y guardar tu trabajo en Cara de Abrazo.

FROM huggingface/transformers-pytorch-gpu
RUN python main.py

Transformadores de Caras Abrazadas Las imágenes Docker son populares para ajustar y desplegar grandes modelos lingüísticos de forma rápida y eficaz. En general, el ecosistema moderno de la IA depende en gran medida de este paquete, y puedes incorporarlo a tu Dockerfile para aprovechar todas sus funciones sin preocuparte de las dependencias.

Orquestación del flujo de trabajo Contenedores Docker

Los proyectos de aprendizaje automático a menudo implican flujos de trabajo complejos que requieren automatización y programación. Estas herramientas de orquestación de flujos de trabajo ayudan a agilizar los procesos de aprendizaje automático.

9. Flujo de aire

Apache Airflow es unaplataforma de código abiertopara crear, programar y supervisar flujos de trabajo mediante programación.

docker run -it --rm -p 8080:8080 apache/airflow

Airflow se utiliza ampliamente para orquestar complejas cadenas de aprendizaje automático. Proporciona una plataforma para crear, programar y supervisar flujos de trabajo como grafos acíclicos dirigidos (DAG), lo que la hace indispensable en la ingeniería del aprendizaje automático para automatizar y gestionar los flujos de trabajo de datos.

10. n8n

n8n es una herramienta de automatización de flujos de trabajo de código abierto que está ganando popularidad por su flexibilidad y facilidad de uso, sobre todo en la automatización de flujos de trabajo de aprendizaje automático. Puedes ejecutarlo localmente y crear tu propia aplicación RAG utilizando la interfaz de arrastrar y soltar.

docker run -it --rm -p 5678:5678 n8nio/n8n

n8n proporciona una interfaz fácil de usar para crear flujos de trabajo que integren varios servicios y API. Es especialmente útil para automatizar tareas repetitivas y conectar distintos sistemas y servicios en proyectos de aprendizaje automático.

Para aprender más sobre la creación de flujos de trabajo de aprendizaje automático en Python , considera la posibilidad de seguir el curso Diseño de flujos de trabajo de aprendizaje automático en Python.

Grandes modelos lingüísticos Contenedores Docker

A medida que los LLM se hacen más frecuentes, los contenedores Docker especializados ayudan a desplegar y escalar estos modelos de forma eficiente.

11. Ollama

Ollama está diseñado para desplegar y ejecutar localmente grandes modelos lingüísticos. Utilizando el Docker de Ollama, puedes descargar y servir los LLM, permitiéndote integrarlos en tus aplicaciones. Es la forma más sencilla de ejecutar en producción modelos lingüísticos cuantizados y completos de gran tamaño.

docker run -it --rm ollama/ollama

12. Qdrant

Qdrant es un motor de búsqueda vectorial utilizado para desplegar aplicaciones de búsqueda de similitud vectorial. Incluye un panel de control y un servidor al que puedes conectarte para enviar y recuperar datos vectoriales rápidamente.

docker run -it --rm -p 6333:6333 qdrant/qdrant

Qdrant proporciona herramientas para la búsqueda eficiente de similitudes y la agrupación de datos de alta dimensión. Es especialmente útil en aplicaciones como los sistemas de recomendación, la recuperación de imágenes y textos, y la búsqueda semántica, que son cada vez más importantes en los proyectos de aprendizaje automático que implican grandes modelos lingüísticos.

Conclusión

En este blog, exploramos 12 imágenes esenciales de contenedores Docker adaptadas a proyectos de aprendizaje automático. Estas imágenes proporcionan un amplio conjunto de herramientas, desde entornos de desarrollo hasta herramientas para grandes modelos lingüísticos. Aprovechando estos contenedores, los científicos e ingenieros de datos pueden crear entornos de proyecto coherentes, reproducibles y escalables, agilizando los flujos de trabajo y mejorando la productividad.

El siguiente paso en el proceso de aprendizaje es construir tu propio proyecto utilizando estas imágenes de contenedores Docker. 

Si quieres aprender a crear tus propias aplicaciones de IA con las últimas herramientas de desarrollo de IA, consulta el tema Desarrollo de aplicaciones de IA.

Desarrollar aplicaciones de IA

Aprende a crear aplicaciones de IA utilizando la API OpenAI.
Empieza a hacer Upskilling gratis

Preguntas frecuentes

¿Es Docker bueno para el aprendizaje automático?

Sí, Docker es muy beneficioso para los proyectos de aprendizaje automático. Proporciona una forma flexible de gestionar entornos y dependencias, garantizando la coherencia y la reproducibilidad. Al contenerizar tus modelos de aprendizaje automático, puedes agilizar el despliegue y evitar los problemas causados por las diferencias en las configuraciones de los sistemas.

¿Qué es el Docker Hub?

Docker Hub es un repositorio basado en la nube donde puedes encontrar y compartir imágenes de contenedores. Ofrece una amplia biblioteca de imágenes preconstruidas, que pueden acelerar significativamente los flujos de trabajo de desarrollo y reducir el tiempo de configuración. Además, puedes crear tus propias imágenes Docker y enviarlas a tu cuenta Docker Hub, para que tu equipo pueda acceder a ellas para colaborar.

¿Dónde puedo encontrar contenedores Docker?

Los contenedores e imágenes Docker se almacenan en ubicaciones específicas dependiendo de tu sistema operativo:

  • Ubuntu, Fedora, Debian: /var/lib/docker/
  • Ventanas: C:\ProgramData\DockerDesktop
  • MacOS: ~/Library/Containers/com.docker.docker/Data/vms/0/

¿Cuál es el uso más popular de Docker?

Docker se utiliza ampliamente para desarrollar, probar y desplegar aplicaciones web. Simplifica la gestión de integraciones y dependencias complejas, convirtiéndola en una herramienta imprescindible para el desarrollo de software moderno.

¿Es Docker más rápido que VM?

Sí, Docker es generalmente más rápido que las máquinas virtuales tradicionales. Docker utiliza la virtualización a nivel de sistema operativo, que permite a los contenedores compartir el núcleo del sistema operativo anfitrión.

¿Qué es alpine en Docker?

Alpine es una distribución Linux ligera que se utiliza a menudo en contenedores Docker. Es conocido por su pequeño tamaño, seguridad y eficacia, lo que lo hace ideal para crear imágenes Docker mínimas que reduzcan el uso de recursos y mejoren el rendimiento.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Soy un científico de datos certificado que disfruta creando aplicaciones de aprendizaje automático y escribiendo blogs sobre ciencia de datos. Actualmente me centro en la creación de contenidos, la edición y el trabajo con grandes modelos lingüísticos.

Temas

¡Aprende más sobre aprendizaje automático e IA con estos cursos!

Curso

End-to-End Machine Learning

4 hr
10.7K
Dive into the world of machine learning and discover how to design, train, and deploy end-to-end models.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

blog

7 proyectos de IA para todos los niveles

Desarrolla tu portafolio y mejora tus habilidades para crear soluciones innovadoras a problemas complejos trabajando en proyectos de IA.
Abid Ali Awan's photo

Abid Ali Awan

8 min

Machine Learning

blog

25 proyectos de aprendizaje automático para todos los niveles

Proyectos de aprendizaje automático para principiantes, estudiantes de último curso y profesionales. La lista consta de proyectos guiados, tutoriales y código fuente de ejemplo.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Los 16 mejores marcos y bibliotecas de IA: Guía para principiantes

Explore los mejores marcos y bibliotecas de IA y sus fundamentos en esta guía definitiva para profesionales de datos noveles que comienzan su carrera profesional.
Yuliya Melnik's photo

Yuliya Melnik

15 min

An AI juggles tasks

blog

Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)

Aprende a utilizar modelos de IA generativa para crear un editor de imágenes, un chatbot similar a ChatGPT con pocos recursos y una aplicación clasificadora de aprobación de préstamos y a automatizar interacciones PDF y un asistente de voz con GPT.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Los 7 mejores generadores de vídeo de IA para 2024 con vídeos de ejemplo

Descubre los mejores generadores de vídeo de IA disponibles en la actualidad, como RunwayML, Synthesia, Colossyan, Pictory, DeepBrain AI, Invideo y el esperadísimo Sora y Veo de DeepMind.

blog

Las 13 habilidades esenciales del ingeniero de IA que debes conocer

Ahora se demandan conocimientos de ingeniería de IA. Aprende todo sobre las habilidades esenciales necesarias en esta completa guía.
Austin Chia's photo

Austin Chia

10 min

Ver másVer más