YOLO26 Eğitim Reçetesi
Giriş
This guide documents the exact training recipe used to produce the official YOLO26 pretrained checkpoints on COCO. Every hyperparameter shown here is already embedded in the released .pt weights and can be inspected programmatically.
Understanding how the base models were trained helps you make better decisions when fine-tuning: which data augmentations to keep, which loss function weights to adjust, and what optimizer settings work best for your dataset size.
Bu kılavuz, resmi YOLO26 kontrol noktalarının neleri içerdiğini anlamak isteyen uygulayıcılar içindir; sadece mimariyi değil, aynı zamanda performanslarını şekillendiren öğrenme oranı programlarını, artırma ardışık düzenlerini ve kayıp ağırlıklarını da kapsar. Kendi verilerin üzerinde ince ayar yaparken bilinçli tercihlerde bulunmak için bu bilgileri kullan.
Eğitim Argümanlarını İnceleme
Her Ultralytics kontrol noktası, onu üretmek için kullanılan tam eğitim yapılandırmasını depolar. Bu ayarları dilediğin zaman inceleyebilirsin:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])Bu yöntem, resmi sürümlerden kendi ince ayar yaptığın modellere kadar tüm .pt kontrol noktaları için çalışır. Yapılandırılabilir eğitim argümanlarının tam listesi için eğitim yapılandırması referansına göz at.
Eğitime Genel Bakış
Tüm YOLO26 temel modelleri, yığın boyutu 128 ile MuSGD iyileştiricisi kullanılarak 640x640 çözünürlükte COCO üzerinde eğitilmiştir. Modeller, orta düzey ön eğitimli ağırlıklardan başlatılmış ve evrimsel arama yoluyla bulunan hiperparametrelerle iyileştirilmiştir. Her model boyutu için tam eğitim günlükleri ve metrikleri Ultralytics Platform üzerinde mevcuttur:
Tüm boyutlardaki temel tasarım tercihleri:
- NMS'siz bire bir başlık ile Uçtan uca eğitim (
end2end=True) - Konvolüsyon ağırlıkları için Muon tarzı ortogonal güncellemelerle SGD'yi birleştiren MuSGD iyileştiricisi
- Heavy mosaic augmentation (~0.9-1.0 probability) disabled in the last 10 epochs (
close_mosaic=10) - Farklı boyutlardaki nesneleri işlemek için Agresif ölçek artırma (0.56-0.95)
- Geometrik bozulmayı düşük tutmak için çoğu boyutta Minimum döndürme/kaydırma
Model Boyutuna Göre Hiperparametreler
İyileştirici ve Öğrenme Oranı
| Ayar | N | S | M | L | X |
|---|---|---|---|---|---|
optimizer | MuSGD | MuSGD | MuSGD | MuSGD | MuSGD |
lr0 | 0.0054 | 0.00038 | 0.00038 | 0.00038 | 0.00038 |
lrf | 0.0495 | 0.882 | 0.882 | 0.882 | 0.882 |
momentum | 0.947 | 0.948 | 0.948 | 0.948 | 0.948 |
weight_decay | 0.00064 | 0.00027 | 0.00027 | 0.00027 | 0.00027 |
warmup_epochs | 0.98 | 0.99 | 0.99 | 0.99 | 0.99 |
epochs | 245 | 70 | 80 | 60 | 40 |
batch | 128 | 128 | 128 | 128 | 128 |
imgsz | 640 | 640 | 640 | 640 | 640 |
N modeli, keskin bir düşüş (lrf=0.0495) ile daha yüksek bir başlangıç öğrenme oranı kullanırken, S/M/L/X modelleri daha yumuşak bir program (lrf=0.882) ile çok daha düşük bir başlangıç LR'si kullanmıştır. Bu durum, daha küçük ve daha büyük modellerin farklı yakınsama dinamiklerini yansıtır; küçük modeller etkili bir şekilde öğrenmek için daha agresif güncellemelere ihtiyaç duyar.
Kayıp Ağırlıkları
| Ayar | N | S | M | L | X |
|---|---|---|---|---|---|
box | 5.63 | 9.83 | 9.83 | 9.83 | 9.83 |
cls | 0.56 | 0.65 | 0.65 | 0.65 | 0.65 |
dfl | 9.04 | 0.96 | 0.96 | 0.96 | 0.96 |
N modeli DFL kaybına öncelik verirken, S/M/L/X modelleri vurguyu sınırlayıcı kutu regresyonuna kaydırır. Sınıflandırma kaybı tüm boyutlarda nispeten tutarlı kalır.
Artırma Ardışık Düzeni
Her tekniğin ayrıntılı açıklaması için YOLO Veri Artırma kılavuzuna bak.
| Ayar | N | S | M | L | X |
|---|---|---|---|---|---|
mosaic | 0.909 | 0.992 | 0.992 | 0.992 | 0.992 |
mixup | 0.012 | 0.05 | 0.427 | 0.427 | 0.427 |
copy_paste | 0.075 | 0.404 | 0.304 | 0.404 | 0.404 |
scale | 0.562 | 0.9 | 0.95 | 0.95 | 0.95 |
fliplr | 0.606 | 0.304 | 0.304 | 0.304 | 0.304 |
degrees | 1.11 | ~0 | ~0 | ~0 | ~0 |
shear | 1.46 | ~0 | ~0 | ~0 | ~0 |
translate | 0.071 | 0.275 | 0.275 | 0.275 | 0.275 |
hsv_h | 0.014 | 0.013 | 0.013 | 0.013 | 0.013 |
hsv_s | 0.645 | 0.353 | 0.353 | 0.353 | 0.353 |
hsv_v | 0.566 | 0.194 | 0.194 | 0.194 | 0.194 |
bgr | 0.106 | 0.0 | 0.0 | 0.0 | 0.0 |
Daha büyük modeller genel olarak daha agresif artırma (daha yüksek mixup, copy-paste ve scale) kullanır, çünkü daha fazla kapasiteye sahiptirler ve daha güçlü düzenlileştirmeden faydalanırlar. N modeli, anlamlı döndürme, kaydırma ve BGR artırmasına sahip tek boyuttur.
Dahili Eğitim Parametreleri
Gelişmiş: dahili ardışık düzen parametreleri
Kontrol noktaları ayrıca, dahili eğitim ardışık düzeninde kullanılan ancak default.yaml dosyasında kullanıcı tarafından yapılandırılabilir ayarlar olarak açıkça belirtilmeyen parametreleri de içerir:
| Ayar | Açıklama | N | S | M | L | X |
|---|---|---|---|---|---|---|
muon_w | MuSGD'deki Muon güncelleme ağırlığı | 0.528 | 0.436 | 0.436 | 0.436 | 0.436 |
sgd_w | MuSGD'deki SGD güncelleme ağırlığı | 0.674 | 0.479 | 0.479 | 0.479 | 0.479 |
cls_w | Dahili sınıflandırma ağırlığı | 2.74 | 3.48 | 3.48 | 3.48 | 3.48 |
o2m | Bire çok başlık kayıp ağırlığı | 1.0 | 0.705 | 0.705 | 0.705 | 0.705 |
topk | En iyi-k etiket ataması | 8 | 5 | 5 | 5 | 5 |
Bunlar yeniden üretilebilirlik için kaydedilmiştir ancak ince ayar yaparken ayarlanmaları gerekmez. Daha fazla ayrıntı için SSS kısmına bak.
İnce Ayar Rehberi
YOLO26 üzerinde kendi veri setinle ince ayar yaparken tam ön eğitim tarifini tekrarlamana gerek yoktur. Önceden eğitilmiş ağırlıklar, COCO eğitiminden gelen artırma ve optimizasyon bilgisini zaten barındırır. Daha genel eğitim en iyi uygulamaları için Model Eğitimi İçin İpuçları kısmına bak.
Basit Başla
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)Varsayılan ayarlarla ince ayar yapmak güçlü bir temel oluşturur. Sadece özel bir nedenin varsa hiperparametreleri ayarla.
Ne Zaman Ayarlanmalı
Küçük veri setleri (< 1.000 görsel):
- Artırma gücünü azalt:
mosaic=0.5,mixup=0.0,copy_paste=0.0 - Öğrenme oranını düşür:
lr0=0.001 - Daha az dönem ve sabır kullan:
epochs=50,patience=20 - Omurga katmanlarını dondurmayı düşün:
freeze=10
Büyük veri setleri (> 50.000 görsel):
- Ön eğitim tarifine daha yakın kal
- Daha uzun çalışmalar için
optimizer=MuSGDkullanmayı düşün - Artırmayı artır:
mosaic=1.0,mixup=0.3,scale=0.9
Alana özgü görseller (hava, tıbbi, su altı):
- Dikey yönelim değişkenlik gösteriyorsa
flipud=0.5değerini artır - Nesneler rastgele açılarda görünüyorsa
degreesdeğerini artır - Aydınlatma koşulları COCO'dan önemli ölçüde farklıysa
hsv_svehsv_vdeğerlerini ayarla
Otomatik hiperparametre optimizasyonu için Hiperparametre Ayarlama rehberine bak.
Model Boyutu Seçme
| Model | En İyi Kullanım | Yığın Boyutu Rehberi |
|---|---|---|
| YOLO26n | Uç cihazlar, mobil, CPU'da gerçek zamanlı | Tüketici GPU'larında büyük yığınlar (64-128) |
| YOLO26s | Dengeli hız ve doğruluk | Orta boy yığınlar (32-64) |
| YOLO26m | Orta düzey hesaplama ile daha yüksek doğruluk | Daha küçük yığınlar (16-32) |
| YOLO26l | GPU mevcut olduğunda yüksek doğruluk | Küçük yığınlar (8-16) veya çoklu GPU |
| YOLO26x | Maksimum doğruluk, sunucu dağıtımı | Küçük yığınlar (4-8) veya çoklu GPU |
Dışa aktarma ve dağıtım seçenekleri için Dışa Aktarma rehberine ve Model Dağıtım Seçenekleri kısmına bak.
SSS
Herhangi bir kontrol noktası için kullanılan tam hiperparametreleri nasıl görebilirim?
Kontrol noktasını torch.load() ile yükle ve train_args anahtarına eriş ya da Ultralytics API ile model.ckpt["train_args"] kullan. Tam örnekler için Eğitim Argümanlarını İnceleme kısmına bak.
Dönem sayıları neden her model boyutu için farklı?
Daha büyük modeller daha fazla kapasiteye sahip oldukları için COCO üzerinde daha hızlı yakınsar. N modeli 245 döneme ihtiyaç duyarken X modeli sadece 40 döneme ihtiyaç duydu. Kendi veri setinde ince ayar yaparken, en uygun dönem sayısı model boyutuna değil, veri setinin boyutuna ve karmaşıklığına bağlıdır. Doğru durma noktasını otomatik olarak bulmak için erken durdurma (patience) kullan.
İnce ayar için MuSGD kullanmalı mıyım?
optimizer=auto (varsayılan) olduğunda, Ultralytics daha uzun eğitim süreçleri (>10.000 iterasyon) için otomatik olarak MuSGD, daha kısa süreçler için ise AdamW seçer. İstersen optimizer=MuSGD olarak açıkça ayarlayabilirsin. Optimizasyon seçimi hakkında daha fazla bilgi için eğitim dokümantasyonuna bak.
Kontrol noktasındaki muon_w, sgd_w, cls_w, o2m ve topk nedir?
Bunlar temel kontrol noktalarını oluşturan eğitim hattından gelen dahili parametrelerdir. Yeniden üretilebilirlik için saklanırlar ancak default.yaml içinde kullanıcı tarafından yapılandırılabilir ayarlar değildir. İnce ayar yaparken bunları ayarlamana gerek yoktur. Ayrıntılar için Dahili Eğitim Parametreleri kısmına bak.
Tam ön eğitimi sıfırdan tekrarlayabilir miyim?
Kontrol noktaları, halka açık kod tabanında bulunmayan ek özelliklere (yapılandırılabilir o2m ağırlıkları ve cls_w gibi) sahip dahili bir eğitim dalı kullanılarak üretilmiştir. Halka açık Ultralytics paketi ile bu sayfada belgelenen hiperparametreleri kullanarak çok yakın sonuçlar elde edebilirsin ancak tam bir yeniden üretim için dahili dal gereklidir.