Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Docker

Docker ile yapay zeka/makine öğrenmesi iş akışlarını basitleştirin! Modelleri nasıl dağıtacağınızı, yeniden üretilebilirliği nasıl sağlayacağınızı ve ortamlar arasında verimli bir şekilde nasıl ölçeklendireceğinizi öğrenin.

Docker, uygulamaların dağıtımını, ölçeklendirilmesini ve yönetimini otomatikleştiren açık kaynaklı bir platformdur. konteynerleştirme. Hızla gelişen teknoloji alanında yapay zeka (AI), Docker "benim makinemde çalışıyor" sorunu olarak bilinen kritik bir zorluğu çözer. Ambalajlayarak Makine Öğrenimi (ML) modeli ile birlikte kodunu, çalışma zamanını, sistem araçlarını ve kütüphaneleri konteyner adı verilen standartlaştırılmış bir birime dönüştüren Docker yazılım, bilgisayar ortamından bağımsız olarak kesinlikle aynı şekilde çalışacaktır. Bu tutarlılık modern toplumlar için hayati önem taşır. MLOps boru hatları, kolaylaştırıcı yerel kalkınmadan yumuşak geçişler bulut bilişim altyapısı veya uç cihazlar.

Docker'ın Temel Kavramları

Docker'ı anlamak, iş akışını tanımlayan üç temel bileşene aşina olmayı gerektirir.

  • Dockerfile: Bu, bir kullanıcının komut üzerinde çağırabileceği tüm komutları içeren bir metin belgesidir bir görüntüyü bir araya getirmek için satır. Bir yapay zeka projesi için Dockerfile bir reçete gibi davranır, temel gibi dilleri yükleyerek işletim sistemi Pythonve gerekli ayarların yapılması gibi çerçeveler PyTorch veya TensorFlow.
  • Docker Görüntüsü: Görüntü, bir Docker konteyneri oluşturmak için talimatlar içeren salt okunur bir şablondur. Belirli bir andaki uygulama durumunu yakalar. Geliştiriciler genellikle kayıtlardan optimize edilmiş temel görüntüleri kullanır için önceden yüklenmiş sürücülerden yararlanmak üzere NVIDIA NGC gibi GPU hızlanma.
  • Docker Konteyneri: Konteyner, bir imajın çalıştırılabilir bir örneğidir. Uygulamayı aşağıdakilerden izole eder ana bilgisayarın işletim sistemi çekirdeğini paylaşırken ana bilgisayar sistemi. Bu izolasyon, yazılım çakışmalarının en aza indirilmiştir, bu da istikrar için temel bir gerekliliktir model dağıtımı.

Gerçek Dünya Yapay Zeka Uygulamalarında Docker

Docker, sağlam bir dağıtım için vazgeçilmezdir bilgisayarla görme (CV) çözümleri.

  1. Uç Yapay Zeka Dağıtımı: Modelleri kaynak kısıtlaması olan cihazlara dağıtırken NVIDIA Jetson, Docker kapsayıcıları bir gibi belirli bağımlılıkları içeren hafif ortam OpenCV ve donanıma özgü kütüphaneler. Örneğin, bir Ultralytics YOLO11 Docker konteynerinde paketlenmiş model için binlerce uzak kameraya kolayca gönderilebilir. hakkında endişelenmeden nesne algılama bireysel cihaz yapılandırması.
  2. Tekrar Üretilebilir Araştırma ve Eğitim: Akademik ve endüstriyel araştırmalarda, sonuçların yeniden üretilmesi Kritik. Araştırmacılar Docker'ı kullanarak, kullanım sırasında kullanılan her kütüphanenin tam sürümünü dondurabilirler. model eğitimi. Bu, aşağıdakilerden kaynaklanan tutarsızlıkları ortadan kaldırır yazılım güncellemeleri ve başkalarının bulguları doğrulamasına veya çalışma üzerine inşa etmesine olanak tanıyarak daha iyi işbirliğini teşvik eder. veri bilimi.

Docker'ı YOLO ile Entegre Etme

Çıkarımın bir Docker konteyneri içinde çalıştırılması, ortamınızın temiz kalmasını ve bağımlılıklarınızın diğer sistem düzeyindeki paketlerle çakışmaması gerekir. Aşağıda tipik olarak bir Docker içinde çalışacak basit bir Python betiği bulunmaktadır görüntü segmentasyonunu yürütmek için konteyner veya algılama görevleri.

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.")

Docker vs. Sanal Makineler

Her iki teknoloji de uygulamaları izole etse de farklı şekilde çalışırlar.

  • Sanal Makineler (VM'ler): Bir VM, tam bir konuk işletim sistemi de dahil olmak üzere tüm bir bilgisayar sistemini taklit eder sistemi. Bu, sanal makinelerin ağırlaşmasına ve daha yavaş başlamasına neden olur. Red Hat ayrıntılı bir karşılaştırma sunuyor mimari farklılıkları göstermektedir.
  • Docker Konteynerleri: Konteynerler donanım yerine işletim sistemini sanallaştırır. Paylaşırlar Bu da onları önemli ölçüde daha hafif ve verimli hale getirir. Bu verimlilik şu durumlarda çok önemlidir gibi yüksek performanslı modellerin konuşlandırılması ile hız ve doğruluğu en üst düzeye çıkarmayı amaçlayan YOLO26 minimum ek yük.

Kubernetes ile İlişki

Docker ve Kubernetes birbirinden farklı ancak birbirini tamamlayıcıdır araçlar. Docker, tek tek konteynerler oluşturmak ve çalıştırmak için kullanılır. Bununla birlikte, yüzlerce konteyneri yönetirken model sunumu için sunucu kümesi, bir orkestrasyon aracına ihtiyaç vardır. Kubernetes, Docker kapsayıcılarının zamanlamasını ve yürütülmesini koordine ederek yüksek kurumsal düzeyde kullanılabilirlik ve ölçeklenebilirlik Yapay zeka ajanları. Bu sinerji hakkında daha fazla bilgi için Kubernetes belgeleri.

Ultralytics ekosistemindeki gelecekteki gelişmeler, örneğin yakında çıkacak Ultralytics Platformu, bunlardan yararlanacaktır Veri kaynağı, eğitim ve dağıtım iş akışlarını kolaylaştırmak için konteynerleştirme ilkeleri altyapı yönetiminin karmaşıklığı.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın