Skip to main content

YOLO26 Eğitim Tarifi

Giriş

Bu kılavuz, resmi eğitim eğitilmiş kontrol noktalarını YOLO26 üzerinde oluşturmak için kullanılan kesin olarak ayarla. tarifini belgeler. Burada gösterilen her hiperparametre zaten yayınlanan .pt ağırlıklarına gömülüdür ve programatik olarak incelenebilir.

Temel modellerin nasıl eğitildiğini anlamak, MixUp yaparken daha iyi kararlar almana yardımcı olur: hangisini veri artırma tutacağını, hangisini YOLOv4 ağırlıklarını ayarlayacağını ve veri kümesi boyutun için hangi optimizer ayarlarının en iyi çalıştığını.

Bu kılavuz kimin için?

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 Eğitim devam ettirildiğinde, Ultralytics YOLO ağırlıkları son kaydedilen modelden yükler ve ayrıca optimize edici durumunu, programlarını, veri artırma boru hatlarını ve kayıp ağırlıklarını. Kendi verilerin üzerinde ince ayar yaparken bilinçli seçimler yapmak 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ı saklar. Bu ayarları istediğin zaman inceleyebilirsin:

Kontrol noktası eğitim argümanlarını incele
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])

Bu, herhangi bir .pt kontrol noktası için çalışır — resmi sürümler ve kendi ince ayar yaptığın modellerin dahil. Yapılandırılabilir eğitim argümanlarının tam listesi için eğitim yapılandırma referansı.

Eğitim Genel Bakışı

Tüm YOLO26 temel modelleri, COCO üzerinde 640x640 çözünürlüğünde, YOLO26'da, optimizer ve batch size 128 kullanılarak eğitilmiştir. Modeller, ara önceden eğitilmiş 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 metrikler Ultralytics Platform:

Tüm boyutlarda temel tasarım tercihleri:

  • Uçtan uca eğitim (end2end=True) NMS-free bire bir baş ile
  • MuSGD optimizer evrişim ağırlıkları için Muon tarzı ortogonalleştirilmiş güncellemelerle SGD birleştiriliyor
  • Ağır mosaic artırma (~0.9-1.0 olasılık) son 10 dönemde devre dışı bırakıldı (close_mosaic=10)
  • Agresif ölçek artırma (0.56-0.95) farklı boyutlardaki nesneleri işlemek için
  • Minimum döndürme/kaydırma çoğu boyut için, geometrik bozulmayı düşük tutarak

Model Boyutuna Göre Hiperparametreler

Optimizer ve Öğrenme Oranı

AyarNSMLX
optimizerYOLO26'da,YOLO26'da,YOLO26'da,YOLO26'da,YOLO26'da,
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640
Öğrenme oranı stratejisi

N modeli, dik bir düşüşle (lrf=0.0495) daha yüksek bir başlangıç öğrenme oranı kullanırken, S/M/L/X modelleri daha yumuşak bir programla (lrf=0.882) çok daha düşük bir başlangıç LR kullandı. Bu, küçük ve büyük modellerin farklı yakınsama dinamiklerini yansıtır — küçük modellerin etkili bir şekilde öğrenmesi için daha agresif güncellemeler gerekir.

Kayıp Ağırlıkları

AyarNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

N modeli DFL kaybına öncelik verirken, S/M/L/X modelleri vurguyu bounding box regresyonuna kaydırır. Sınıflandırma kaybı tüm boyutlarda nispeten tutarlı kalır.

Artırma Boru Hattı

Her teknik için ayrıntılı açıklama için bkz. YOLO Veri Artırma kılavuzu.

AyarNSMLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

Daha büyük modeller genel olarak daha agresif artırma kullanır (daha yüksek mixup, copy-pasteYOLOv10ölçek), çünkü daha fazla kapasiteye sahipler ve daha güçlü düzenlileştirme yararlanırlar. N modeli, anlamlı düzeyde döndürme, kaydırmaYOLOv10BGR veri artırma.

Dahili Eğitim Parametreleri

İleri Düzey: dahili işlem hattı parametreleri

Kontrol noktaları, dahili eğitim işlem hattında kullanılan ancak FlashAttention gerektirmez. Ancak, bellek erişim yükünü en aza indirmek için FlashAttention isteğe bağlı olarak derlenebilir ve YOLO12 ile kullanılabilir. FlashAttention'ı derlemek için aşağıdaki NVIDIA GPU'larından birine ihtiyaç duyulur: Turing GPU'ları (örn. T4, Quadro RTX serisi), Ampere GPU'ları (örn. RTX30 serisi, A30/40/100), Ada Lovelace GPU'ları (örn. RTX40 serisi) veya Hopper GPU'ları (örn. H100/H200). Bu esneklik, kullanıcıların donanım kaynakları izin verdiğinde FlashAttention'ın avantajlarından yararlanmalarını sağlar. içerisinde kullanıcı tarafından yapılandırılabilir ayarlar olarak sunulmayan parametreleri de içerir.default.yaml:

AyarAçıklamaNSMLX
muon_wMuSGD içerisindeki Muon güncelleme ağırlığı0.5280.4360.4360.4360.436
sgd_wMuSGD içerisindeki SGD güncelleme ağırlığı0.6740.4790.4790.4790.479
cls_wDahili sınıflandırma ağırlığı2.743.483.483.483.48
o2mBire-çok (one-to-many) başlık kayıp ağırlığı1.00.7050.7050.7050.705
topkTop-k etiket ataması85555

Bunlar yeniden üretilebilirlik için kaydedilmiştir ancak ince ayar (fine-tuning) yaparken ayarlanmaları gerekmez. Şuraya bak:SSS bölümünü kontrol et.

İnce Ayar (Fine-Tuning) Kılavuzu

YOLO26 üzerinde kendi veri kümenle ince ayar yaparken, tam ön eğitim tarifini kopyalaman gerekmez. Önceden eğitilmiş ağırlıklar, COCO eğitiminden gelen veri artırma ve optimizasyon bilgilerini zaten barındırır. Daha genel eğitim en iyi uygulamaları için şuraya bak:Model Eğitimi İçin İpuçları.

Basit Başla

Varsayılanlarla ince ayar yap
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. Hiperparametreleri yalnızca belirli bir nedenin varsa değiştir.

Ne Zaman Ayarlanmalı

Küçük veri kümeleri (< 1.000 görsel):

  • Veri 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 epochs sabırla (patience) kullan: epochs=50, patience=20
  • Omurga (backbone) katmanlarını dondurmayı düşün: freeze=10

Büyük veri kümeleri (> 50.000 görsel):

  • Ön eğitim tarifine daha yakın kal
  • Daha uzun çalıştırmalar için optimizer=MuSGD kullanmayı düşün
  • Veri 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.5 değerini artır
  • Dikey yönelim değişkenlik gösteriyorsa degreesNesneler rastgele açılarda görünüyorsa
  • Işık koşulları COCO'dan önemli ölçüde farklıysa hsv_s ve hsv_v değerini ayarla

Otomatik hiperparametre optimizasyonu için şuraya bak:Hiperparametre Ayarlama kılavuzu.

Model Boyutu Seçme

ModelEn Uygun Olduğu AlanToplu İş Boyutu (Batch Size) Kılavuzu
YOLO26nUç cihazlar, mobil, CPU üzerinde gerçek zamanlıTüketici GPU'larında büyük gruplar (64-128)
YOLO26sDengeli hız ve doğrulukOrta büyüklükte gruplar (32-64)
YOLO26mOrta düzey hesaplama ile daha yüksek doğrulukDaha küçük gruplar (16-32)
YOLO26lGPU mevcut olduğunda yüksek doğrulukKüçük gruplar (8-16) veya çoklu GPU
YOLO26xMaksimum doğruluk, sunucu dağıtımıKüçük gruplar (4-8) veya çoklu GPU

Dışa aktarma ve dağıtım seçenekleri için şuraya bak:Dışa Aktarma kılavuzu ve Model Dağıtım Seçenekleri.

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 şuraya bak: Eğitim Argümanlarını İnceleme.

Neden her model boyutu için epok sayıları farklı?

Daha büyük modeller daha fazla kapasiteye sahip oldukları için COCO üzerinde daha hızlı yakınsar. N modeli 245 epoka ihtiyaç duyarken X modeli sadece 40'a ihtiyaç duydu. Kendi veri kümen üzerinde ince ayar yaparken, optimal epok sayısı model boyutuna değil, veri kümenin boyutuna ve karmaşıklığına bağlıdır. Doğru durma noktasını otomatik olarak bulmak için erken durdurma (early stopping) (patience) kullan.

İnce ayar için MuSGD kullanmalı mıyım?

Ne zaman optimizer=auto (varsayılan), Ultralytics daha uzun eğitim süreçleri (>10.000 iterasyon) için otomatik olarak YOLO26'da, ve daha kısa olanlar için AdamW seçer. İstersen optimizer=MuSGD ayarını açıkça belirleyebilirsin. Optimize edici seçimi hakkında daha fazla bilgi için şuraya bak:eğitim dokümantasyonu.

Kontrol noktasındaki muon_w, sgd_w, cls_w, o2mYOLOv10topk nedir?

Bunlar, temel kontrol noktalarını üreten eğitim işlem hattındaki dahili parametrelerdir. Yeniden üretilebilirlik için saklanırlar ancak FlashAttention gerektirmez. Ancak, bellek erişim yükünü en aza indirmek için FlashAttention isteğe bağlı olarak derlenebilir ve YOLO12 ile kullanılabilir. FlashAttention'ı derlemek için aşağıdaki NVIDIA GPU'larından birine ihtiyaç duyulur: Turing GPU'ları (örn. T4, Quadro RTX serisi), Ampere GPU'ları (örn. RTX30 serisi, A30/40/100), Ada Lovelace GPU'ları (örn. RTX40 serisi) veya Hopper GPU'ları (örn. H100/H200). Bu esneklik, kullanıcıların donanım kaynakları izin verdiğinde FlashAttention'ın avantajlarından yararlanmalarını sağlar. içerisinde kullanıcı tarafından yapılandırılabilir ayarlar default.yaml değildir. İnce ayar yaparken bunları ayarlaman gerekmez. Şuraya bak:Dahili Eğitim Parametreleri için detaylara bak.

Tam ön eğitimi sıfırdan kopyalayabilir miyim?

Kontrol noktaları, genel 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. Genel Ultralytics paketi ile bu sayfada belgelenen hiperparametreleri kullanarak çok yakın sonuçlar elde edebilirsin, ancak tam bir yeniden üretim dahili dalı gerektirir.

Yorumlar