Ultralytics için Modal Hızlı Başlangıç Kılavuzu#
Bu kılavuz, Modal üzerinde Ultralytics YOLO26 çalıştırmaya yönelik kapsamlı bir giriş sunar ve sunucusuz GPU çıkarımını ve model eğitimini kapsar.
Modal nedir?#
Modal, yapay zeka ve makine öğrenimi iş yükleri için sunucusuz bir bulut bilişim platformudur. Kaynak ayırma, ölçeklendirme ve çalıştırma işlemlerini otomatik olarak yönetir; sen yerel olarak Python kodu yazarsın ve Modal bunu bulutta GPU erişimiyle çalıştırır. Bu, altyapı yönetimiyle uğraşmadan YOLO26 gibi derin öğrenme modellerini çalıştırmak için burayı ideal hale getirir.
Neler Öğreneceksin#
- Modal kurulumu ve kimlik doğrulama
- Modal üzerinde YOLO26 çıkarımı çalıştırma
- Daha hızlı çıkarım için GPU kullanımı
- Modal üzerinde YOLO26 modelleri eğitme
Ön koşullar#
- Bir Modal hesabı (modal.com adresinden ücretsiz kaydolabilirsin)
- Yerel bilgisayarında yüklü Python 3.9 veya daha yeni bir sürüm
Kurulum#
Modal Python paketini yükle:
pip install modalArdından CLI ile Modal hesabının kimlik doğrulamasını yap:
modal token newmodal token new komutu, Modal hesabını doğrulamak için bir tarayıcı penceresi açacaktır. Kimlik doğrulamasından sonra, terminalden Modal komutlarını çalıştırabilirsin.
YOLO26 Çıkarımı Çalıştırma#
Aşağıdaki kodla çıkarım çalıştırmak için modal_yolo.py adında yeni bir Python dosyası oluştur:
"""
Modal + Ultralytics YOLO26 Quickstart
Run: modal run modal_yolo.py.
"""
import modal
app = modal.App("ultralytics-yolo")
image = modal.Image.debian_slim(python_version="3.11").apt_install("libgl1", "libglib2.0-0").pip_install("ultralytics")
@app.function(image=image)
def predict(image_url: str):
"""Run YOLO26 inference on an image URL."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model(image_url)
for r in results:
print(f"Detected {len(r.boxes)} objects:")
for box in r.boxes:
print(f" - {model.names[int(box.cls)]}: {float(box.conf):.2f}")
@app.local_entrypoint()
def main():
"""Test inference with sample image."""
predict.remote("https://ultralytics.com/images/bus.jpg")Çıkarımı çalıştır:
modal run modal_yolo.pyBeklenen çıktı:
✓ Initialized. View run at https://modal.com/apps/your-username/main/ap-xxxxxxxx
✓ Created objects.
├── 🔨 Created mount modal_yolo.py
└── 🔨 Created function predict.
Downloading https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n.pt to 'yolo26n.pt'...
Downloading https://ultralytics.com/images/bus.jpg to 'bus.jpg'...
image 1/1 /root/bus.jpg: 640x480 4 persons, 1 bus, 377.8ms
Speed: 5.8ms preprocess, 377.8ms inference, 0.3ms postprocess per image at shape (1, 3, 640, 480)
Detected 5 objects:
- bus: 0.92
- person: 0.91
- person: 0.91
- person: 0.87
- person: 0.53
✓ App completed.Fonksiyon yürütme sürecini Modal kontrol panelinden izleyebilirsin:
Daha Hızlı Çıkarım için GPU Kullanımı#
gpu parametresini belirterek fonksiyonuna bir GPU ekle:
@app.function(image=image, gpu="T4") # Options: "T4", "A10G", "A100", "H100"
def predict_gpu(image_url: str):
"""Run YOLO26 inference on GPU."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model(image_url)
print(results[0].boxes)| GPU | Bellek | En İyi Kullanım |
|---|---|---|
| T4 | 16 GB | Çıkarım, küçük model eğitimi |
| A10G | 24 GB | Orta ölçekli eğitim işleri |
| A100 | 40 GB | Büyük ölçekli eğitim |
| H100 | 80 GB | Maksimum performans |
Modal üzerinde YOLO26 Eğitimi#
Eğitim için kalıcı depolama amacıyla bir GPU ve Modal Volumes kullan. train_yolo.py adında yeni bir Python dosyası oluştur:
import modal
app = modal.App("ultralytics-training")
volume = modal.Volume.from_name("yolo-training-vol", create_if_missing=True)
image = modal.Image.debian_slim(python_version="3.11").apt_install("libgl1", "libglib2.0-0").pip_install("ultralytics")
@app.function(image=image, gpu="T4", timeout=3600, volumes={"/data": volume})
def train():
"""Train YOLO26 model on Modal."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=3, imgsz=640, project="/data/runs")
@app.local_entrypoint()
def main():
train.remote()Eğitimi çalıştır:
modal run train_yolo.pyModal Volumes, fonksiyon çalıştırmaları arasında verileri kalıcı olarak saklar. Eğitilen ağırlıklar /data/runs/train/weights/ konumuna kaydedilir.
Tebrikler! Ultralytics YOLO26'yı Modal üzerinde başarıyla kurdun. Daha fazla bilgi için:
- Gelişmiş özellikler için Ultralytics YOLO26 documentation sayfasını incele
- Kendi veri setlerinle özel modellerin eğitilmesi hakkında bilgi edin
- Kapsayıcılı dağıtım için Docker Quickstart kılavuzunu dene
- Gelişmiş platform özellikleri için Modal documentation sayfasını ziyaret et
SSS#
Çıkarım için bir NVIDIA T4 (16 GB) genellikle yeterli ve maliyet etkindir. Eğitim veya YOLO26x gibi daha büyük modeller için A10G veya A100 GPU'ları düşün.
Modal, saniye başına ödeme fiyatlandırması kullanır. Yaklaşık oranlar: CPU ~$0.05/sa, T4 ~$0.59/sa, A10G ~$1.10/sa, A100 ~$2.10/sa. Güncel oranlar için Modal pricing sayfasına göz at.
Evet, ağırlık dosyasını bir Modal Volume üzerinden yükleyerek kendi özel eğitimli YOLO modelini Modal üzerinde çalıştırabilirsin:
model = YOLO("/data/my_custom_model.pt")Özel modellerin eğitilmesi hakkında daha fazla bilgi için training guide kılavuzuna bakın.