Simplifiez les flux de travail IA/ML avec Docker ! Apprenez à déployer des modèles, à assurer la reproductibilité et à évoluer efficacement dans différents environnements.
Docker est une plateforme open-source qui automatise le déploiement, la mise à l'échelle et la gestion des applications grâce à la conteneurisation. Dans le domaine en pleine évolution de l'intelligence l'intelligence artificielle (IA), Docker résout un problème crucial connu sous le nom de "fonctionne sur ma machine". En empaquetant un modèle d'apprentissage machine (ML) modèle d'apprentissage automatique (ML) avec son son code, son moteur d'exécution, ses outils système et ses bibliothèques dans une unité standardisée appelée conteneur, Docker garantit que le logiciel s'exécutera strictement de la même manière, quel que soit l'environnement dans lequel il est utilisé. Docker garantit que le logiciel fonctionnera strictement de la même manière, quel que soit l'environnement informatique. Cette cohérence est vitale pour les MLOps modernes, en facilitant transitions fluides du développement local à l'infrastructure l'infrastructure informatique en nuage ou les appareils périphériques.
Pour comprendre Docker, il faut se familiariser avec trois composants fondamentaux qui définissent son flux de travail.
Docker est indispensable pour déployer des solutions robustes de solutions robustes de vision artificielle (CV).
L'exécution de l'inférence dans un conteneur Docker permet de s'assurer que votre environnement reste propre et que vos dépendances n'entrent pas en conflit avec d'autres paquets au niveau du système. pas de conflit avec d'autres paquets au niveau du système. Vous trouverez ci-dessous un simple script Python qui s'exécuterait typiquement dans un conteneur Docker pour exécuter des tâches de segmentation ou de segmentation ou de détection d'images.
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.")
Si les deux technologies isolent les applications, elles fonctionnent différemment.
Docker et Kubernetes sont des outils distincts mais complémentaires. complémentaires. Docker est utilisé pour créer et exécuter des conteneurs individuels. Cependant, lorsqu'il s'agit de gérer des centaines de conteneurs sur un cluster de serveurs pour le service de modèles, un outil d'orchestration est nécessaire. Kubernetes coordonne la planification et l'exécution des conteneurs Docker, garantissant une haute disponibilité et l'évolutivité des agents d'IA d 'entreprise. Pour en savoir plus sur cette synergie, consultez la documentation de Kubernetes.
Les développements futurs de l'écosystème Ultralytics , tels que la future plateforme Ultralytics , s'appuieront sur ces principes de conteneurisation pour rationaliser l'approvisionnement en données, la formation et les flux de travail de déploiement. principes de conteneurisation pour rationaliser l'approvisionnement en données, la formation et les flux de travail de déploiement, abstraction faite des complexités de la gestion de l'infrastructure. les complexités de la gestion de l'infrastructure.