Eğitim Yap, Sonuçları Oku ve Çalıştırmalara İnce Ayar Uygula
Bütçesi belirlenmiş bir bulut çalıştırması başlat, çalıştırmayı dönem başına eğrilerle değerlendir ve varsayılan iyileştiricinin öğrenme oranını görmezden gelmesini önleyerek ince ayar yap.
Başarısız olacağı belli olan bir çalıştırma devam ettiği her dakika bulut GPU'su maliyet yazar. En yaygın ince ayar hatası ise hiçbir maliyete yol açmadan çalıştırmayı sessizce boşa harcar: varsayılan iyileştirici, ayarladığın öğrenme oranını görmezden gelir. Bu derste medical pills veri kümesinde gerçek bir model eğitiliyor, karar kuralıyla eğrileri okunuyor ve ayarlarının gerçekten uygulanması için modele ince ayar yapılıyor.
Uygulamalı
Çalıştırma Başlat#
Bir proje veya veri kümesi sayfasında New Model'a tıkla. Cloud Training sekmesi şu ayarları adım adım gösterir:

| Ayar | Varsayılan | Ne zaman değiştirilmeli |
|---|---|---|
| Temel model | Official bölümünden seç (YOLO26 önerilir) | İnce ayar yapıyorsan My Models bölümünden önceki çalıştırmanı seç |
| Veri kümesi | — | Çalıştırmanın verilerine sabitlenmesi için Save Dataset Version'ı mutlaka etkinleştir |
| Epoch sayısı | 100 | Duman testi (10–20) veya çok büyük veri kümeleri |
| Batch boyutu | -1 (GPU belleğine otomatik sığar) | İki çalıştırmanın birebir karşılaştırılabilir olması gerektiğinde |
| Görüntü boyutu | 640 | Nesneler küçük: boyutu artır (kaydırıcı 1280'de durur; YAML düzenleyicisi 4096'ya kadar kabul eder) |
| Gelişmiş Ayarlar | Varsayılanlar | İyileştirici, öğrenme oranı ve artırma dâhil YAML'de 50'den fazla model.train() bağımsız değişkeni |
Bağımsız değişkenler, yerel ortamda model.train(...) komutunun aldığı bağımsız değişkenlerle aynıdır ve model sayfasında daha sonra varsayılan olmayan değerleri içeren, kopyalanabilir bir yolo train komutu gösterilir.
GPU'yu Seç ve Çalıştırma Bütçesini Belirle#
| Sınıf | Örnekler (VRAM, saatlik ücret) | Uygun olduğu işler |
|---|---|---|
| Ekonomik | RTX 2000 Ada (16 GB, 0,24 $), RTX A5000 (24 GB, 0,27 $), RTX 4090 (24 GB, 0,69 $) | Duman testleri, nano ve küçük modeller |
| Orta | L40S (48 GB, 0,86 $), RTX 5090 (32 GB, 0,99 $), A100 SXM (80 GB, 1,49 $) | Orta boy modeller, daha büyük batch'ler |
| Varsayılan | RTX PRO 6000 (96 GB, 2,09 $) | İşlerin çoğu |
| Üst düzey | H100 SXM (80 GB, $3.29), H200 SXM (141 GB, $4.39) | Zamanın önemli olduğu büyük veri kümeleri |
| Pro ve Enterprise | B200 (180 GB, $5.89), B300 (288 GB, $7.39) | En büyük işler |
Maliyet kartı, başlamadan önce süreyi ve fiyatı tahmin eder: varsayılan RTX PRO 6000'de 1.000 görüntü × YOLO26n × 100 epoch için yaklaşık $0.23; RTX 4090'dan yaklaşık 3,4 kat daha hızlı eğitim yapan H100 SXM'de 5.000 görüntü × YOLO26s × 100 epoch için yaklaşık $1.56. Ücretlendirme gerçek GPU süresine göre yapılır: tamamlanan, iptal edilen ve başarısız olan çalıştırmalar GPU başladıktan sonra ücretlendirilir; çalıştırmanın başlatılabilmesi için tahmin edilen tutarı karşılayan bir bakiye (en az 15 dakikalık GPU süresi) gerekir ve bakiye negatife düşerse etkin çalıştırmalar durur. Bu nedenle uzun işler için Settings > Billing bölümünde otomatik bakiye yüklemeyi etkinleştir. RTX PRO 6000'den daha ucuz bir GPU seçersen Ultralytics tarafından yönetilen kapasite boştayken ücretsiz olarak RTX PRO 6000'e yükseltilebilirsin; ücretlendirme yine seçtiğin tarifeden yapılır.
Karar kuralları: Yeni bir veri kümesini önce varsayılan GPU'da 10–20 epoch ile dene. Bir çalıştırma saatler sürüyorsa ve biri sonucu bekliyorsa H100 veya H200'e geç. GPU kullanımı düşük kalıyorsa daha hızlı değil, daha ucuz bir GPU seç.
Çalıştırmayı İzle#
Model sayfasındaki Train sekmesinde üç alt sekme akış halinde güncellenir. Charts, epoch başına metrikleri, eğitim ve doğrulama kayıplarını ve öğrenme hızını gösterir; Console son 2.000 satırı tutar ve traceback veya CUDA bellek yetersiz hatasında çalıştırmayı hemen durdurur; System ise GPU kullanımını, belleği ve sıcaklığı gösterir:


4 saat boyunca hiçbir rapor sunmayan çalıştırma başarısız olarak işaretlenir. En iyi kontrol noktası düzenli aralıklarla yüklenir; bu nedenle iptal edilen çalıştırma o ana kadarki en iyi epoch'u korur. Çalıştırmalar tamamlandığında veya başarısız olduğunda Slack bildirimleri sana haber verebilir.
Uygulamalı Örnek: Çalıştırmayı Eğitme, Akışını İzleme ve Sonuçlarını Okuma#
Her yerde eğitim yapabilir, çalıştırmayı yine de Platform'da takip edebilirsin. ULTRALYTICS_API_KEY olarak dışa aktarılan, Settings > API Keys bölümünden aldığın bir API anahtarıyla, username/project biçimindeki bir project grafikleri, konsolu ve en iyi kontrol noktasını o projeye aktarır:
from ultralytics import YOLO
# export ULTRALYTICS_API_KEY="..." first to stream this run into your Platform project
model = YOLO("yolo26n.pt")
results = model.train(data="medical-pills.yaml", epochs=10, imgsz=320, project="username/pill-inspection", name="v1-baseline")
print(f"mAP50-95 {results.box.map:.3f}, best checkpoint: {model.trainer.best}") Class Images Instances Box(P R mAP50 mAP50-95)
all 23 399 0.97 0.957 0.977 0.659
mAP50-95 0.659, best checkpoint: .../runs/detect/username/pill-inspection/v1-baseline/weights/best.ptAynı komut, New Model'e tıkladığında Platform'un GPU'larında çalışır; yerel olarak imgsz=320 üzerinde bir dizüstü bilgisayarın CPU'sunda iki dakikadan kısa sürdü. Çalıştırmanın results.csv değeri, Charts alt sekmesinde gösterilen epoch başına serileri içerir; böylece birkaç satır, “eğrileri izle” yaklaşımını bir kurala dönüştürür:
import pandas as pd
df = pd.read_csv("results.csv") # the per-epoch metrics behind the Charts subtab
df.columns = df.columns.str.strip()
m = df["metrics/mAP50-95(B)"]
best_epoch = int(df.loc[m.idxmax(), "epoch"])
recent_gain = m.iloc[-1] - m.iloc[-4] # change over the last 3 epochs
val_loss = df["val/box_loss"]
print(f"epochs={len(df)} best mAP50-95={m.max():.3f} at epoch {best_epoch}")
print(f"gain over last 3 epochs: {recent_gain:+.3f}")
print(f"val box loss: {val_loss.iloc[0]:.3f} -> {val_loss.iloc[-1]:.3f}")
if recent_gain < 0.005 and val_loss.iloc[-1] >= val_loss.iloc[-4]:
print("verdict: plateaued - stop, and fix the data before training longer")
elif best_epoch == len(df):
print("verdict: still improving at the last epoch - more epochs should help")
else:
print("verdict: converged - keep best.pt")epochs=10 best mAP50-95=0.659 at epoch 10
gain over last 3 epochs: +0.028
val box loss: 1.367 -> 1.045
verdict: still improving at the last epoch - more epochs should helpEn iyi epoch sonuncusu; mAP50-95 son üç epoch'ta 2,8 puan yükseldi ve doğrulama kaybı hâlâ düşüyor: bu 10 epoch'luk çalıştırma erken durdu; daha uzun bir çalıştırma veya ince ayar faydalı olacaktır. Herhangi bir Platform çalıştırmasının Charts alt sekmesinde aynı üç sinyali kullan: en iyi epoch'un nerede olduğu, son dönemdeki kazanım ve doğrulama kaybının yönü.
Önceki Bir Modelden İnce Ayar Yap#
My Models altında önceki modelini temel model olarak seç; Platform bu kontrol noktasından başlayan yeni bir model oluşturur ve eski modeli değiştirmez. Genellikle daha düşük bir öğrenme hızı önerilir; ancak varsayılan optimizer: auto ile eğitim kendi optimizer ve öğrenme hızını seçer, lr0 değerini yok sayar. Konsol bunu ilk satırlarda belirtir:
optimizer: 'optimizer=auto' found, ignoring 'lr0=0.01' and determining best 'optimizer' and 'lr0' automatically...
optimizer: AdamW(lr=0.002, momentum=0.9) with parameter groups 114 weight(decay=0.0), 126 weight(decay=0.0005), 126 bias(decay=0.0)optimizer değerini Advanced Settings bölümünde açıkça ayarla; bu değer korunur. Pill modelini optimizer: SGD ve lr0: 0.001 ile 5 epoch daha ince ayarlamak şu günlükleri üretir:
optimizer: SGD(lr=0.001, momentum=0.937) with parameter groups 114 weight(decay=0.0), 126 weight(decay=0.0005), 126 bias(decay=0.0)
all 23 399 0.969 0.962 0.983 0.687mAP50-95, 0.659'dan 0.687'ye yükseldi. Bir sonraki derste bu adayı terfi eşiğinden geçireceksin.

Önceki bir çalıştırmayı yeniden üretmek için model sayfasındaki Training Configuration tablosunu aç, Copy JSON'ı seç ve JSON'u Advanced Settings'e yapıştır. İnce ayar kılavuzu katman dondurmayı; hiperparametre ayarlama kılavuzu ise sistematik taramaları ele alır.
Yaygın Hatalar#
Belirti: lr0: 0.001 değerini ayarlıyorsun, ancak konsolda ignoring 'lr0=...' görünüyor. Çözüm: optimizer: auto ile eğitim, optimize ediciyi ve öğrenme oranını kendisi seçer. optimizer değerini SGD veya AdamW olarak lr0 ile birlikte ayarla, ardından konsoldaki optimizer: satırını doğrula.
Belirti: Sistem alt sekmesi, tüm çalıştırma boyunca GPU kullanımının %80'in çok altında olduğunu gösteriyor. Çözüm: Darboğaz GPU değil, veri yüklemedir; dolayısıyla daha hızlı bir GPU yalnızca maliyeti artırır. Daha ucuz bir GPU seç veya bellek elveriyorsa toplu iş boyutunu artır.
Belirti: Doğrulama mAP50-95 değeri 10 epoch boyunca sabit kalırken doğrulama kaybı yavaşça artıyor. Çözüm: Eğitimi iptal et. Şimdiye kadarki en iyi kontrol noktası korunur; sıradaki kazanım daha fazla epoch'tan değil, veriden gelir (3. ve 4. dersler).
Çözümü göster
Tıbbi haplar üzerinde uygulamalı yanıt: 10 epoch'luk temel model 10. epoch'ta en yüksek değerine ulaşır; mAP50-95 0.659'dur, son üç epoch'ta +0.028 artmıştır ve doğrulama kutu kaybı 1.367'den 1.045'e düşmektedir. Bu nedenle karar “devam et”tir. Baştan eğitmek yerine ince ayar yap: My Models altındaki temel model v1-baseline, 5 epoch, Advanced Settings optimizer: SGD ve lr0: 0.001. Konsol SGD(lr=0.001, momentum=0.937) değerini doğrular ve mAP50-95 0.687'ye ulaşır. Varsayılan GPU'daki maliyet birkaç senttir; maliyet kartı Start Training'e tıklamadan önce tahmini, Settings > Billing ise sonrasındaki gerçek ücreti gösterir.