Docker'ın tekrarlanabilir AI dağıtımını nasıl mümkün kıldığını keşfedin. Buluttan uç cihazlara sorunsuz ölçeklendirme için Ultralytics modellerini konteynerlere paketlemeyi öğrenin.
Docker, geliştiricilerin konteynerleştirme kullanarak uygulamaların dağıtımını, ölçeklendirilmesini ve yönetimini otomatikleştirmelerini sağlayan açık kaynaklı bir platformdur. Yapay zeka ve makine öğrenimi bağlamında Docker, kodu ve tüm bağımlılıklarını (kütüphaneler, sistem araçları ve ayarlar gibi) paketleyen standart bir yazılım birimi olarak işlev görür, böylece uygulama bir bilgi işlem ortamından diğerine hızlı ve güvenilir bir şekilde çalışır. Bu, Bu, "benim makinemde çalışıyor" sorununu ortadan kaldırarak, bir araştırmacının dizüstü bilgisayarında eğitilmiş bir sinir ağının, büyük bir bulut sunucusuna veya bir uç cihaza dağıtıldığında da aynı şekilde çalışmasını sağlar.
Modern makine öğrenimi operasyonları (MLOps) büyük ölçüde tekrarlanabilirlik ve taşınabilirliğe dayanır. Bir AI projesi genellikle Python belirli sürümleri, GPU CUDA ve PyTorch gibi derin öğrenme çerçeveleri dahil olmak üzere karmaşık bir yazılım yığını içerir. Bu karmaşıklık, PyTorch veya TensorFlowgibi derin öğrenme çerçeveleri gibi karmaşık bir yazılım yığını içerir. Bunları farklı ekipler ve altyapılar arasında manuel olarak yönetmek hataya açıktır.
Docker, hafif, bağımsız konteynerler oluşturarak bunu basitleştirir. Her örnek için tam bir işletim sistemi gerektiren geleneksel sanal makinelerden (VM) farklı olarak, konteynerler ana makinenin işletim sistemi çekirdeğini paylaşır, ancak izole edilmiş kullanıcı alanlarında çalışır. Bu, onları önemli ölçüde daha kaynak verimli ve daha hızlı başlatılabilir hale getirir, bu da ölçeklendirme model hizmet altyapısı veya dağıtılmış eğitim işleri yürütürken çok önemlidir.
Docker, ilk denemelerden son uygulamaya kadar yapay zeka yaşam döngüsünün her aşamasında yaygın olarak kullanılmaktadır.
Docker'ın özel rolünü anlamak için onu ilgili teknolojilerden ayırmak faydalıdır:
Aşağıdaki örnek, bilgisayar görme için tasarlanmış bir Docker konteynerinin içinde bir Python nasıl görünebileceğini göstermektedir.
Bu betik, ultralytics modeli yüklemek ve çıkarım yapmak için kullanılan paket. Konteyner
ortamı, doğru bağımlılıkların ( opencv-python ve torch) zaten
mevcuttur.
from ultralytics import YOLO
# Load the YOLO26 model (weights are typically included in the Docker image)
model = YOLO("yolo26n.pt")
# Perform inference on an image source
# In a containerized microservice, this might process incoming API requests
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Log the detection results
print(f"Detected {len(results[0].boxes)} objects in the image.")
Konteynerleştirmeye başlamak için, geliştiriciler genellikle bir Dockerfile, bir metin belgesidir
ve bir görüntüyü birleştirmek için gerekli tüm komutları içerir. Oluşturulduktan sonra, bu görüntüler kayıt defterlerinde saklanabilir.
Docker Hub veya
NVIDIA Kataloğu, GPU konteynerler sunar.
Docker dosyalarını manuel olarak yönetmeden eğitim ve dağıtım sürecini kolaylaştırmak isteyenler için Ultralytics , bulut ortamlarının karmaşıklığını ele alan entegre araçlar sunar. Bu sayede kullanıcılar, altyapıyı yapılandırmak yerine model doğruluğunu iyileştirmeye odaklanabilirler. Ayrıca, Docker Hızlı Başlangıç Kılavuzumuzu inceleyerek Ultralytics konteynerlerde hemen çalıştırmayı öğrenebilirsiniz.