YOLO Vision 2026:

YOLO26 Eğitim Reçetesi#

Giriş#

Bu kılavuz, resmi YOLO26 önceden eğitilmiş ağırlıklarını COCO üzerinde üretmek için kullanılan kesin eğitim reçetesini belgeler. Burada gösterilen her hiperparametre, sürümle birlikte yayımlanan .pt ağırlıklarına, dönem başına eğitim günlüğü ve çalışmanın kod revizyonuyla birlikte zaten gömülüdür ve bunların tümü programatik olarak incelenebilir.

Resmî checkpoint'lere neyin girdiğini — yalnızca mimariyi değil, performanslarını şekillendiren öğrenme hızı çizelgelerini, veri artırma işlem hatlarını ve kayıp ağırlıklarını da — bilmek, ince ayar yaparken daha iyi kararlar vermene yardımcı olur: hangi veri artırmalarını koruyacağın, hangi kayıp fonksiyonu ağırlıklarını ayarlayacağın ve veri kümen için hangi optimizer ayarlarının en iyi sonucu verdiği.

Tam kapsam için makaleyi oku

Bu sayfa, yayımlanan ağırlıklarda kaydedilen hiperparametreleri kapsar. Mimari, kayıp ve etiket atama değişiklikleri ile ablasyonlar dahil olmak üzere bunların ardındaki gerekçeyi öğrenmek için Ultralytics YOLO26: Unified Real-Time End-to-End Vision Models makalesini oku.

Eğitime Genel Bakış#

Tüm YOLO26 temel modelleri iki aşamada eğitildi: 150 dönemlik Objects365v1 ön eğitimi ve ardından COCO ince ayarı. Her iki aşama da 640x640 çözünürlükte, MuSGD optimizer'ı ve batch size 128 ile yürütüldü. Hiçbir YOLO26 ağırlığı COCO üzerinde rastgele ağırlıklardan eğitilmedi; COCO aşamasının çoğu boyut için kısa olmasının nedeni budur ve COCO aşamasındaki hiperparametreler evrimsel arama yoluyla bulundu. Her model boyutuna ait tam eğitim günlükleri ve metrikler yayımlanan ağırlıkların içinde saklanır ve Ultralytics Platform üzerinde grafik olarak sunulur.

Tüm boyutlardaki temel tasarım tercihleri:

  • COCO aşamasından önce her boyut için Objects365 ön eğitimi
  • NMS içermeyen bire bir head ile uçtan uca eğitim (end2end=True)
  • Ağırlık matrisleri için SGD'yi Muon tarzı ortogonalleştirilmiş güncellemelerle birleştiren MuSGD optimizer'ı (2B doğrusal ağırlıklar ve 2B'ye yeniden şekillendirilen 4B evrişim filtreleri)
  • Son dönemlerde devre dışı bırakılan Yoğun mozaik artırma (~0.9-1.0 olasılık) (ön eğitimde close_mosaic=8, COCO'da close_mosaic=10)
  • Farklı boyutlardaki nesneleri ele almak için Agresif ölçek artırma (0.5-0.95)
  • Çoğu boyutta geometrik bozulmayı düşük tutan Minimal döndürme/kaydırma

Aşama 1: Objects365 Ön Eğitimi#

Her YOLO26 COCO ağırlığı, aynı boyuttaki bir Objects365v1 ağırlığından ince ayarlandı. Bu önceden eğitilmiş ağırlıklar da yayımlandı ve Objects365 veri kümesi sayfasında belgeleniyor. Her COCO ağırlığı, başlangıç ağırlıklarını .pt dosyasına gömülü eğitim yapılandırmasında belirtir; aşağıdaki YOLO26 Ağırlık Eğitim Argümanlarını İnceleme bölümü bunların nasıl okunacağını gösterir:

COCO ağırlığıBaşlangıç ağırlıkları
yolo26n.ptyolo26n-objv1-150.pt
yolo26s.ptyolo26s-objv1-150.pt
yolo26m.ptyolo26m-objv1-150.pt
yolo26l.ptyolo26l-objv1-150.pt
yolo26x.ptyolo26x-objv1-150.pt

Ön eğitimde, aranmış değerler yerine çoğunlukla varsayılan ayarlar kullanıldı. lr0, lrf, momentum, weight_decay, box ve cls, default.yaml ile eşleşirken warmup_epochs, close_mosaic ve dfl geçersiz kılındı. warmup_epochs için X'te kullanılan ayar, artırma güçleri ve tablolardan sonra listelenen dahili MuSGD ve head ağırlıkları dışında ayarlar tüm boyutlarda ortaktır:

AyarDeğer
dataObjects365v1
epochs150
imgsz640
batch128
optimizerMuSGD
lr0 / lrf0.01 / 0.01
momentum0.937
weight_decay0.0005
warmup_epochs1 (X için 2)
close_mosaic8
box / cls / dfl7.5 / 0.5 / 6.0
ArtırmaNSMLX
mosaic1.01.01.01.01.0
mixup0.00.050.150.150.2
copy_paste0.10.150.40.50.6
scale0.50.90.90.90.9

Bu tablolar, tam yapılandırmayı değil, ön eğitimi şekillendiren ayarları kapsar. Ağırlıklarda 100'den fazla argüman kaydedilir; bu nedenle kesin liste için aşağıda gösterildiği gibi train_args çıktısını al.

İleri düzey: dahili ön eğitim parametreleri

Ön eğitimde, Dahili Eğitim Parametreleri bölümünde açıklanan deneysel dal parametreleriyle aynı türden parametreler de değiştirildi. cls_w, her boyut için 1.0 değerindeydi:

AyarNSMLX
muon_w0.450.50.450.450.5
sgd_w0.550.50.550.550.6
o2m0.10.10.11.01.0
Objects365 ağırlıklarıyla başla

Aşama 1'i yeniden kullanmak için Objects365 veri kümesine ihtiyacın yok. Önceden eğitilmiş ağırlıklar, diğer tüm Ultralytics varlıkları gibi otomatik olarak indirilir; böylece bunları kendi veri kümen üzerinde ince ayarlayabilirsin:

from ultralytics import YOLO

model = YOLO("yolo26s-objv1-150.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

Bunun yerine COCO aşamasını yeniden çalıştırmak için aynı ağırlıklarla başla ve aşağıdaki tablolardan ilgili boyut için aşama 2 optimizer, kayıp ve artırma değerlerini aktar. Bu tablolar, warmup_momentum, warmup_bias_lr, perspective, flipud ve cutmix gibi daha küçük, varsayılan olmayan argümanları içermez; kesin yapılandırma için ağırlıktan train_args çıktısını al. Dahili parametreler yayımlanan paket tarafından reddedilir ve deneysel dalı gerektirir.

YOLO26 Ağırlık Eğitim Argümanlarını İnceleme#

Her Ultralytics ağırlığı, kendisini üretmek için kullanılan tam eğitim yapılandırmasını saklar; böylece bu sayfadaki her sayıyı kendin doğrulayabilirsin:

Ağırlık eğitim argümanlarını incele
from ultralytics import YOLO

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

Çıktı, bu sayfada belgelenen her reçete değerini de içeren, 100'den fazla girdiden oluşan tam yapılandırmayı listeler. yolo26n.pt için bir kesit:

batch: 128
...
box: 5.62767
...
close_mosaic: 10
cls: 0.56099
...
dfl: 9.03871
...
epochs: 245
...
lr0: 0.0054
lrf: 0.04952
...
optimizer: MuSGD

Bu işlem, resmi sürümler ve kendi ince ayar yaptığın modeller dahil olmak üzere herhangi bir .pt ağırlığında çalışır. Yapılandırılabilir eğitim argümanlarının tam listesi için eğitim yapılandırması başvurusuna bak.

Eğitim Eğrilerini Görüntüleme#

Saklanan tek şey train_args değildir. Her ağırlık, onu üreten çalışmanın dönem başına eksiksiz results.csv verilerini ve nihai doğrulama metriklerini de taşır. Resmi YOLO26 ağırlıklarının eğrileri Ultralytics Platform üzerinde yayımlanır; ayrıca herhangi bir .pt dosyası, aynı verileri grafik olarak göstermek üzere bir projeye sürüklenip bırakılabilir ve meta veriler dosyadan otomatik olarak ayrıştırılır.

Her ağırlık, onu üreten aşamayı kapsar; bu nedenle COCO eğrileri yolo26s.pt içinde, 150 dönemlik Objects365 eğrileri ise yolo26s-objv1-150.pt içindedir.

Kod Revizyonunu Kontrol Etme#

ckpt["git"], ağırlığı üreten commit'i kaydeder ve bu commit'ler Ultralytics deposunun herkese açık deneysel dallarında bulunur; böylece tam eğitim kodunu checkout edebilirsin:

from ultralytics import YOLO

print(YOLO("yolo26n.pt").ckpt["git"])
# {'root': ..., 'branch': 'exp-main', 'commit': 'cb13d5f9cfbd6f299da3620c625f81d721dc2849', ...}
git fetch origin cb13d5f9cfbd6f299da3620c625f81d721dc2849
git checkout cb13d5f9cfbd6f299da3620c625f81d721dc2849

Deneysel dallar, main içine hiç alınmamış çalışmaları barındırır; örneğin yapılandırılabilir o2m ve cls_w. Aşağıda belgelenen hiperparametrelerle main üzerinde eğitim yapmak bit düzeyinde aynı sonuçları vermez, ancak yayımlanan metriklerden ihmal edilebilir bir farkla sonuçlanır.

Model Boyutuna Göre YOLO26 Eğitim Hiperparametreleri#

Bunlar, yukarıdaki Objects365 ağırlıklarının üzerine uygulanan aşama 2 değerleridir. Aşağıdaki tablolar reçeteyi kategoriye göre gruplandırır: optimizer ve çizelge, kayıp ağırlıkları ve artırma. Her değer, yayımlanan ağırlıklara gömülü train_args içinden doğrudan alınmıştır.

Optimizer ve Öğrenme Oranı#

Bu optimizer ve çizelge ayarları, her boyut için COCO ince ayarını yönlendirdi; N modelinin diğerlerinden nasıl ayrıldığına dikkat et:

AyarNSMLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
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 azalmayla (lrf=0.0495) daha yüksek bir başlangıç öğrenme oranı kullanırken S/M/L/X modelleri daha yumuşak bir çizelgeyle (lrf=0.882) çok daha düşük bir başlangıç LR'si kullandı. Bu, küçük ve büyük modellerin farklı yakınsama dinamiklerini yansıtır — küçük modellerin etkili bir şekilde öğrenmek için daha agresif güncellemelere ihtiyacı vardır.

Kayıp Ağırlıkları#

Kayıp ağırlıkları, tespit kaybının üç bileşenini dengeler: sınırlayıcı kutu IoU regresyonu (box), sınıflandırma (cls) ve kutu uzaklığı regresyon terimi (dfl). DFL içermeyen YOLO26'nın dfl katsayısını dağıtımsal odak kaybı yerine normalleştirilmiş kutu uzaklıkları üzerindeki bir L1 kaybını ağırlıklandırmak için yeniden kullandığını unutma:

AyarNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

N modeli dfl uzaklık regresyonu terimine öncelik verirken S/M/L/X modelleri vurguyu IoU tabanlı kutu regresyonuna kaydırır. Sınıflandırma kaybı tüm boyutlarda görece tutarlı kalır.

Artırma İşlem Hattı#

Her tekniğin ayrıntılı açıklaması için YOLO Veri Artırma kılavuzuna bak.

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

~0 olarak gösterilen değerler, gerçek ağırlıklarda 0.01'in altındadır (örneğin S modeli için degrees=0.00012); artırma etkin olarak devre dışıdır.

Daha büyük modeller genel olarak daha agresif artırma kullanır (daha yüksek mixup ve ölçek), çünkü daha fazla kapasiteye sahiptirler ve daha güçlü düzenlileştirmeden yararlanırlar. N modeli, anlamlı düzeyde döndürme, kaydırma ve BGR artırmasına sahip tek boyuttur.

Dahili Eğitim Parametreleri#

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

Ağırlıklar ayrıca deneysel eğitim dalında kullanılan, ancak default.yaml içinde kullanıcı tarafından yapılandırılabilir ayarlar olarak sunulmayan parametreleri de içerir:

AyarAçıklamaNSMLX
muon_wMuSGD'de Muon güncelleme ağırlığı0.5280.4360.4360.4360.436
sgd_wMuSGD'de 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 head kayıp ağırlığı1.00.7050.7050.7050.705
topkTop-k etiket ataması85555

İnce ayar yaparken ne anlama geldiklerini öğrenmek için bu parametrelerle ilgili SSS maddesine bak.

YOLO26'yı Kendi Veri Kümen Üzerinde İnce Ayarlama#

YOLO26'yı kendi veri kümen üzerinde ince ayarlarken tam ön eğitim reçetesini tekrarlaman gerekmez. Önceden eğitilmiş ağırlıklar, COCO eğitimi sırasında edinilen artırma ve optimizasyon bilgisini zaten içerir. Daha genel eğitim en iyi uygulamaları için Model Eğitimi İpuçları sayfasına bak.

Varsayılan Ayarlarla İnce Ayar#

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ılanlarla ince ayar yapmak güçlü bir temel oluşturur. Hiperparametreleri yalnızca bunu gerektiren belirli bir nedenin varsa ayarla.

YOLO26 Hiperparametreleri Ne Zaman Ayarlanmalı?#

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

  • Artırma gücünü azalt: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • Açık bir optimizer ile öğrenme oranını düşür: optimizer=AdamW, lr0=0.001
  • Sabır değeriyle daha az dönem kullan: epochs=50, patience=20
  • Backbone katmanlarını dondurmayı düşün: freeze=10

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

  • Ön eğitim reçetesiyle daha yakından eşleş
  • Daha uzun çalışmalar için optimizer=MuSGD kullanmayı düşün
  • Artırmayı artır: mosaic=1.0, mixup=0.3, scale=0.9

Alan-özel görüntüler (hava, tıbbi, su altı):

  • Dikey yönelim değişiyorsa flipud=0.5 değerini artır
  • Nesneler rastgele döndürülmüş yönlerde görünüyorsa degrees değerini artır
  • Aydınlatma koşulları COCO'dan önemli ölçüde farklıysa hsv_s ve hsv_v değerlerini ayarla

Otomatik hiperparametre optimizasyonu için Hiperparametre Ayarlama kılavuzuna bak.

Model Boyutu Seçme#

ModelEn Uygun KullanımBatch Size Rehberi
YOLO26nUç cihazlar, mobil cihazlar, CPU üzerinde gerçek zamanlı kullanımTüketici GPU'larında büyük batch'ler (64-128)
YOLO26sDengeli hız ve doğrulukOrta boyutlu batch'ler (32-64)
YOLO26mOrta düzey hesaplama ile daha yüksek doğrulukDaha küçük batch'ler (16-32)
YOLO26lGPU mevcut olduğunda yüksek doğrulukKüçük batch'ler (8-16) veya çoklu GPU
YOLO26xMaksimum doğruluk, sunucu dağıtımıKüçük batch'ler (4-8) veya çoklu GPU

Dışa aktarma ve dağıtım seçenekleri için Dışa Aktarma kılavuzuna ve Model Dağıtım Seçenekleri sayfasına bak.

Sonuç#

YOLO26 checkpoint'leri, eksiksiz eğitim reçeteleriyle birlikte gelir; bu nedenle her model boyutunun arkasındaki tam hiperparametreler her zaman tek bir train_args araması kadar yakındır. İnce ayarlamaya varsayılanlarla başla, bu sayfadaki tabloları kullanarak değişiklikleri bilinçli şekilde yap ve her değişikliği kendi doğrulama kümenle karşılaştırarak doğrula. Yol boyunca soruların olursa Ultralytics GitHub deposunda veya Ultralytics Discord sunucusunda topluluğa sor.

SSS#

  • Checkpoint'i torch.load() ile yükle ve train_args anahtarına eriş veya Ultralytics API'siyle model.ckpt["train_args"] kullan. Eksiksiz örnekler için YOLO26 Checkpoint Eğitim Argümanlarını İnceleme sayfasına bak.

  • Her boyut, Objects365 üzerinde aynı 150 epoch'luk ön eğitimi aldı; bu nedenle COCO sayıları yalnızca ince ayar aşamasını kapsar. Daha büyük modeller, bu epoch'ların daha azında COCO üzerinde yakınsar: X için 40, N için 245. Sayılar kesin olarak monoton değildir (S 70, M 80 kullandı), çünkü model boyutuna özel hiperparametre aramasından elde edildiler. Kendi veri kümen üzerinde ince ayar yaparken en uygun epoch sayısı model boyutuna değil, veri kümenin boyutuna ve karmaşıklığına bağlıdır. Uygun durma noktasını otomatik olarak bulmak için erken durdurmayı (patience) kullan.

  • Bunlar, temel checkpoint'leri üreten deneysel daldan gelir ve yeniden üretilebilirlik için train_args içine kaydedilmiştir. default.yaml içinde kullanıcı tarafından yapılandırılabilen ayarlar değildirler; model.train() öğesine geçirilmeleri geçersiz bağımsız değişken hatasına yol açar, çünkü yayımlanan paket bunları okumaz. İnce ayar yaparken bunları ayarlamana gerek yok; her model boyutu için değerlerini görmek üzere Dahili Eğitim Parametreleri sayfasına bak.

  • Hayır. Her COCO checkpoint'i, Aşama 1: Objects365 Ön Eğitimi bölümünde ve YOLO26 makalesinde açıklandığı üzere, aynı boyutta ve daha önce 150 epoch boyunca eğitilmiş bir Objects365v1 checkpoint'inden ince ayar yapılarak oluşturuldu. Yayımlanan sayıların arkasında sıfırdan gerçekleştirilen bir COCO çalışması yoktur; bu nedenle sıfırdan yapılan bir karşılaştırma bu sayılarla bire bir karşılaştırılabilir değildir.

  • Checkpoint'lerin içinde ve Ultralytics Platform üzerinde grafik olarak gösterilir. Her checkpoint, çalışmasına ait epoch başına eksiksiz results.csv verisini depolar; bu nedenle bir .pt dosyasını Platform projesine bıraktığında kayıplar, mAP ilerlemesi ve öğrenme oranları herhangi bir kod olmadan grafik olarak gösterilir. Eğitim Eğrilerini Görüntüleme sayfasına bak. Objects365 aşamasının yolo26*-objv1-150.pt checkpoint'lerinde kendine ait bir günlüğü vardır.

  • Yayımlanan metriklere yakın sonuç elde edersin, ancak sonuçlar bire bir aynı olmaz. Özdeş bir kurulum için checkpoint'te kaydedilen commit'e geç ve o dal üzerinde eğitim yap. Kod Revizyonunu Kontrol Etme sayfasına bak.

Yorumlar