Skip to main content

Ultralytics için Modal Başlangıç Kılavuzu

Bu kılavuz, Ultralytics YOLO26 üzerinde Modal üzerinde sunucusuz GPU çıkarımı ve model eğitimi çalıştırmaya kapsamlı bir giriş sağlar.

Modal, yapay zeka ve bulut bilişim iş yükleri için sunucusuz bir machine learning platformudur. Hazırlama, ölçeklendirme ve yürütme süreçlerini otomatik olarak yönetir; yerel olarak Python kodu yazarsın ve Modal bunu bulutta GPU erişimiyle çalıştırır. Bu, altyapı yönetimiyle uğraşmadan deep learning modelleri gibi YOLO26 çalıştırmak için idealdir.

Neler Öğreneceksin

  • Modal kurulumu ve kimlik doğrulama
  • Modal üzerinde YOLO26 çıkarımı çalıştırma
  • Daha hızlı çıkarım için GPU kullanma
  • Modal üzerinde YOLO26 modellerini eğitme

Ön koşullar

  • Bir Modal hesabı ( modal.com)
  • adresinden ücretsiz kaydol)

Kurulum

Yerel makinenizde yüklü Python 3.9 veya daha yeni bir sürüm

pip install modal
modal token new
Modal Python paketini yükle ve kimlik doğrulaması yap:

modal token newKimlik Doğrulama

komutu, Modal hesabını doğrulamak için bir tarayıcı penceresi açar. Kimlik doğrulamadan sonra, terminalden Modal komutlarını çalıştırabilirsin.

YOLO26 Çıkarımını Çalıştırmamodal_yolo.py adında yeni bir Python dosyası oluştur ve şu kodu ekle:

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

Beklenen çı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ütmeni Modal panelinden izleyebilirsin:

Modal Dashboard Function Calls

Daha Hızlı Çıkarım İçin GPU Kullanma

Fonksiyonuna bir GPU eklemek için gpu parametresini kullanabilirsin:

@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)
GPUBellekEn Uygun Olduğu Alan
T416 GBÇıkarım, küçük model eğitimi
A10G24 GBOrta ölçekli eğitim işleri
A10040 GBBüyük ölçekli eğitim
H10080 GBMaksimum performans

Eğitim için, bir GPU ve kalıcı depolama için Modal Volumes kullan. Şu isimde yeni bir Python dosyası oluştur train_yolo.py:

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.py
Volume Kalıcılığı

Modal Volumes, verileri fonksiyon çalıştırmaları arasında korur. Eğitilmiş ağırlıklar şuraya kaydedilir: /data/runs/detect/train/weights/.

Tebrikler! Ultralytics YOLO26'yı Modal üzerinde başarıyla kurdun. Daha fazla öğrenmek için:

SSS

YOLO26 iş yüküm için doğru GPU'yu nasıl seçerim?

Çıkarım için genellikle NVIDIA T4 (16 GB) yeterli ve maliyet açısından etkindir. Eğitim veya YOLO26x gibi daha büyük modeller için A10G veya A100 GPU'larını değerlendir.

Modal, saniye bazlı ücretlendirme kullanır. Yaklaşık oranlar: CPU ~$0.05/saat, T4 ~$0.59/saat, A10G ~$1.10/saat, A100 ~$2.10/saat. Güncel fiyatlar için Modal fiyatlandırma sayfasını kontrol et.

Kendi özel eğitilmiş YOLO modelimi kullanabilir miyim?

Evet! Özel modelleri bir Modal Volume üzerinden yükle:

model = YOLO("/data/my_custom_model.pt")

Özel modelleri eğitme hakkında daha fazla bilgi için şuraya bak: eğitim rehberine.

Yorumlar