YOLO26 Eğitim Reçetesi#
Giriş#
Bu kılavuz, resmi YOLO26 önceden eğitilmiş denetim noktalarını COCO üzerinde üretmek için kullanılan tam training tarifini belgeler. Burada gösterilen her hyperparameter, yayınlanan .pt ağırlıklarının içine zaten gömülmüştür ve programatik olarak incelenebilir.
Resmi kontrol noktalarının arkasındakileri bilmek — yalnızca mimariyi değil, performanslarını şekillendiren learning rate programlarını, veri çoğaltma boru hatlarını ve kayıp ağırlıklarını — fine-tuning yaparken daha iyi kararlar vermene yardımcı olur: hangi data augmentations öğelerini saklayacağını, hangi loss function ağırlıklarını ayarlayacağını ve veri kümesi boyutun için hangi optimizatör ayarlarının en iyi sonucu vereceğini belirlemeni sağlar.
Eğitime Genel Bakış#
Tüm YOLO26 temel modelleri 640x640 çözünürlükte COCO üzerinde batch size 128 ile MuSGD optimize edicisi kullanılarak eğitildi. Tek bir çalıştırmada rastgele ağırlıklardan başlamak yerine, modeller ara ön eğitimli ağırlıklardan başlatıldı ve evolutionary search aracılığıyla bulunan hiperparametrelerle iyileştirildi. Her model boyutu için tam eğitim günlükleri ve metrikler Ultralytics Platform üzerinde mevcuttur.
Tüm boyutlardaki temel tasarım tercihleri:
- NMS içermeyen bire bir kafaya sahip uçtan uca eğitim (
end2end=True) - Ağırlık matrisleri için SGD'yi Muon tarzı ortogonalleştirilmiş güncellemelerle birleştiren MuSGD optimizatörü (2D doğrusal ağırlıklar ve 2D'ye yeniden şekillendirilen 4D konvülsiyon filtreleri)
- Son 10 epoch'ta devre dışı bırakılan yoğun mozaik veri çoğaltma (~0.9-1.0 olasılık) (
close_mosaic=10) - Farklı boyutlardaki nesneleri yönetmek için agresif ölçek artırma (0.56-0.95)
- Geometrik bozulmayı düşük tutmak için çoğu boyutta minimal döndürme/kaydırma
YOLO26 Kontrol Noktası Eğitim Argümanlarını İnceleme#
Her Ultralytics kontrol noktası, onu üretmek için kullanılan tam eğitim yapılandırmasını saklar, böylece bu sayfadaki her sayıyı kendin doğrulayabilirsin:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])Çıktı, bu sayfada belgelenen her tarif değeri dahil olmak üzere 100'den fazla girdinin tam yapılandırmasını listeler. yolo26n.pt için bir alıntı:
batch: 128
...
box: 5.62767
...
close_mosaic: 10
cls: 0.56099
...
dfl: 9.03871
...
epochs: 245
...
lr0: 0.0054
lrf: 0.04952
...
optimizer: MuSGDBu, ister resmi sürümler ister kendi ince ayar yapılmış modellerin olsun, herhangi bir .pt kontrol noktası için çalışır. Yapılandırılabilir eğitim argümanlarının tam listesi için training configuration reference sayfasına bakın.
Model Boyutuna Göre YOLO26 Eğitim Hiperparametreleri#
Aşağıdaki tablolar tarifi kategoriye göre gruplandırır — optimizatör ve program, kayıp ağırlıkları ve veri çoğaltma. Her değer doğrudan yayınlanan kontrol noktalarına gömülü olan train_args içinden gelmektedir.
İyileştirici ve Öğrenme Oranı#
Bu iyileştirici ve program ayarları, her boyut için COCO ön eğitimini yönlendirdi; N modelinin diğerlerinden nasıl ayrıldığına dikkat et:
| 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 dik bir düşüşle daha yüksek bir başlangıç öğrenme hızı kullanırken (lrf=0.0495), S/M/L/X modelleri daha yumuşak bir programa sahip çok daha düşük bir başlangıç LR kullanmıştır (lrf=0.882). Bu, daha küçük ve daha büyük modellerin farklı yakınsama dinamiklerini yansıtır; daha küçük modeller etkili bir şekilde öğrenmek için daha agresif güncellemelere ihtiyaç duyar.
Kayıp Ağırlıkları#
Kayıp ağırlıkları, algılama kaybının üç bileşenini dengeler — bounding box IoU regresyonu (box), sınıflandırma (cls) ve bir kutu mesafesi regresyon terimi (dfl). DFL içermeyen YOLO26'nın, dağılım odak kaybı yerine normalleştirilmiş kutu mesafeleri üzerindeki bir L1 kaydına ağırlık vermek için dfl kazancını yeniden amaçlandığına dikkat edin:
| 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 mesafe regresyon terimine öncelik verirken, S/M/L/X modelleri vurguyu IoU tabanlı kutu regresyonuna kaydırır. Sınıflandırma kaybı tüm boyutlarda nispeten tutarlı kalır.
Veri Artırma Boru Hattı#
Her bir tekniğin ayrıntılı açıklaması için YOLO Data Augmentation guide kılavuzuna bakın.
| 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 |
~0 olarak gösterilen değerler gerçek kontrol noktalarında 0.01'in altındadır (örneğin S modeli için degrees=0.00012) — veri çoğaltma etkili bir şekilde devre dışı bırakılmıştır.
Daha büyük modeller, daha fazla kapasiteye sahip oldukları ve daha güçlü regularization avantajından yararlandıkları için genel olarak daha agresif veri çoğaltma kullanır (daha yüksek mixup, copy-paste ve ölçek). N modeli, anlamlı döndürme, kaydırma (shear) ve BGR veri çoğaltmasına sahip tek boyuttur.
Dahili Eğitim Parametreleri#
İleri düzey: dahili boru hattı parametreleri
Kontrol noktaları ayrıca dahili eğitim boru hattında kullanılan ancak default.yaml içinde kullanıcı tarafından yapılandırılabilir ayarlar olarak açığa çıkarılmayan parametreler 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 |
İnce ayar yaparken ne anlama geldikleri için FAQ entry on these parameters kısmına bakın.
YOLO26'ya Kendi Veri Setinde İnce Ayar Yapma#
YOLO26'yı kendi veri kümenize göre ince ayar yaparken, tam ön eğitim tarifini kopyalamanıza gerek yoktur. Önceden eğitilmiş ağırlıklar zaten COCO eğitiminden elde edilen veri çoğaltma ve optimizasyon bilgisini kodlamıştır. Daha genel eğitim en iyi uygulamaları için Tips for Model Training bölümüne bakın.
Varsayılan Ayarlarla İnce 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. Sadece özel bir nedenin varsa hiperparametreleri değiştir.
YOLO26 Hiperparametreleri Ne Zaman Ayarlanmalı?#
Küçük veri setleri (< 1.000 görsel):
- Veri çoğaltma gücünü azaltın:
mosaic=0.5,mixup=0.0,copy_paste=0.0 - Öğrenme hızını düşürün:
lr0=0.001 - Sabırla daha az epochs kullanın:
epochs=50,patience=20 - Omurga (backbone) katmanlarını dondurmayı düşünün:
freeze=10
Büyük veri setleri (> 50.000 görsel):
- Ön eğitim tarifine daha yakın kal
- Daha uzun çalıştırmalar için
optimizer=MuSGDseçeneğini değerlendirin - Veri çoğaltmayı artırın:
mosaic=1.0,mixup=0.3,scale=0.9
Alana özgü görseller (hava, tıbbi, su altı):
- Dikey yönelim değişiyorsa
flipud=0.5değerini artırın - Nesneler rastgele açılarda görünüyorsa
degreesdeğerini artırın - Aydınlatma koşulları COCO'dan önemli ölçüde farklıysa
hsv_svehsv_vdeğerlerini ayarlayın
Otomatik hiperparametre optimizasyonu için Hyperparameter Tuning guide kılavuzuna bakın.
Bir Model Boyutu Seç#
| Model | En İyi Kullanım | Yığın Boyutu Rehberi |
|---|---|---|
| YOLO26n | Edge 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 yığınlar (32-64) |
| YOLO26m | Orta düzey hesaplamayla 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 Export guide ve Model Deployment Options belgelerine bakın.
Sonuç#
YOLO26 kontrol noktaları tam eğitim tarifleri gömülü olarak gelir, bu nedenle her model boyutunun arkasındaki kesin hiperparametreler her zaman yalnızca bir train_args araması uzaklıktadır. Varsayılanlardan ince ayara başlayın, bu sayfadaki tabloları kullanarak bilinçli bir şekilde ayarlayın ve her değişikliği kendi doğrulama kümenize karşı doğrulayın. Yol boyunca sorular ortaya çıkarsa, topluluğa Ultralytics GitHub repository veya Ultralytics Discord server üzerinden sorun.
SSS#
Kontrol noktasını
torch.load()ile yükleyin vetrain_argsanahtarına erişin veya Ultralytics API ilemodel.ckpt["train_args"]kullanın. Eksiksiz örnekler için Inspecting YOLO26 Checkpoint Training Args kısmına bakın.Daha büyük modeller genellikle COCO üzerinde daha az epoch'a ihtiyaç duymuştur çünkü daha büyük kapasiteleri yakınsamayı hızlandırır — X modeli N için 245'e karşılık 40 epoch boyunca eğitilmiştir — ancak sayılar kesinlikle monotonik değildir (S 70, M 80 kullanmıştır). Kendi veri kümenize göre ince ayar yaparken, optimal epoch sayısı model boyutuna değil, veri kümenizin boyutuna ve karmaşıklığına bağlıdır. Doğru durma noktasını otomatik olarak bulmak için erken durdurma (
patience) özelliğini kullanın.Genellikle seçim yapmanıza gerek yoktur: varsayılan
optimizer=autoile Ultralytics, daha uzun eğitim çalıştırmaları (>10.000 iterasyon) için otomatik olarak MuSGD ve daha kısa olanlar için AdamW seçer. Tercih edersenizoptimizer=MuSGDdeğerini açıkça ayarlayabilirsiniz. MuSGD'nin nasıl çalıştığı hakkında daha fazla bilgi için training documentation sayfasına bakın.Bunlar, temel kontrol noktalarını üreten eğitim boru hattından gelen ve tekrarlanabilirlik için
train_argsiçinde kaydedilen dahili parametrelerdir. Bunlardefault.yamliçinde kullanıcı tarafından yapılandırılabilir ayarlar değildir ve bunlarımodel.train()içine iletmek geçersiz argüman hatasına neden olur — ortak paket bunları okumaz. İnce ayar yaparken bunları ayarlamanıza gerek yoktur; model boyutu başına değerleri için Internal Training Parameters sayfasına bakın.Tam olarak değil — kontrol noktaları, genel kod tabanında olmayan ek özelliklere sahip dahili bir eğitim dalı (yapılandırılabilir
o2mağırlıkları vecls_wgibi) kullanılarak üretilmiştir. Bu sayfada belgelenen hiperparametreleri genel Ultralytics paketiyle kullanarak çok yakın sonuçlar elde edebilirsiniz, ancak tam bir yeniden üretim dahili dalı gerektirir.