¡Simplifique los flujos de trabajo de IA/ML con Docker! Aprenda a implementar modelos, garantizar la reproducibilidad y escalar de forma eficiente entre entornos.
Docker es una plataforma de código abierto que automatiza el despliegue, escalado y gestión de aplicaciones mediante la contenedores. En el campo de la inteligencia inteligencia artificial (IA), Docker resuelve un desafío crítico conocido como el problema de "funciona en mi máquina". Al empaquetar un modelo de Machine Learning (ML) junto con su código junto con su código, tiempo de ejecución, herramientas del sistema y bibliotecas en una unidad estandarizada llamada contenedor, Docker garantiza que el software se ejecutará estrictamente de la misma manera independientemente de la máquina en la que se ejecute. software se ejecutará estrictamente de la misma manera independientemente del entorno informático. Esta coherencia es vital para los MLOps modernos, ya que facilita transiciones fluidas desde el desarrollo local infraestructura de computación en nube o dispositivos de borde.
Para entender Docker es necesario familiarizarse con tres componentes fundamentales que definen su flujo de trabajo.
Docker es indispensable para desplegar robustas soluciones de visión computerizada (CV).
Ejecutar la inferencia dentro de un contenedor Docker ayuda a garantizar que su entorno permanezca limpio y que sus dependencias no choquen con otros paquetes a nivel de sistema. con otros paquetes a nivel de sistema. A continuación se muestra un sencillo script Python que normalmente se ejecutaría dentro de un contenedor Docker para ejecutar tareas de segmentación o segmentación o detección de imágenes.
from ultralytics import YOLO
# Load the YOLO11 model (downloads automatically if not present)
model = YOLO("yolo11n.pt")
# Perform object detection on an online image source
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of objects detected to verify inference
print(f"Detected {len(results[0].boxes)} objects in the image.")
Aunque ambas tecnologías aíslan las aplicaciones, funcionan de forma diferente.
Docker y Kubernetes son herramientas distintas pero complementarias. complementarias. Docker se utiliza para crear y ejecutar contenedores individuales. Sin embargo, cuando se gestionan cientos de contenedores de servidores para el servicio de modelos herramienta de orquestación. Kubernetes coordina la programación y ejecución de los contenedores Docker, garantizando una alta disponibilidad y escalabilidad para el servicio de modelos de nivel empresarial. disponibilidad y escalabilidad para agentes de de nivel empresarial. Puede obtener más información sobre esta sinergia en la documentación de documentación de Kubernetes.
Los futuros desarrollos del ecosistema Ultralytics , como la próxima Plataforma Ultralytics , aprovecharán estos principios de contenedorización para agilizar los flujos de trabajo de obtención, formación y despliegue de datos. para agilizar los flujos de trabajo de obtención, formación y despliegue de datos, abstrayendo aún más las complejidades de la gestión de infraestructuras. las complejidades de la gestión de infraestructuras.