Ultralytics YOLO27:
Get Started

YOLO26 Eğitim Reçetesi#

Giriş#

Bu kılavuz, eğitim sırasında YOLO26 için COCO üzerinde resmî önceden eğitilmiş kontrol noktalarını üretmekte kullanılan tam reçeteyi belgeler. Burada gösterilen her hiperparametre, yayımlanan .pt ağırlıklarına zaten gömülüdür; ağırlıklarla birlikte epoch başına eğitim günlüğü ve çalıştırmanın kod revizyonu da sunulur ve tüm bunlar programatik olarak incelenebilir.

Resmî kontrol noktalarının oluşturulmasında rol oynayan unsurları — yalnızca mimariyi değil, performanslarını şekillendiren öğrenme oranı çizelgelerini, veri artırma işlem hatlarını ve kayıp ağırlıklarını da — bilmek, ince ayar yaparken daha iyi kararlar almana yardımcı olur: hangi veri artırma yöntemlerini koruyacağını, hangi kayıp fonksiyonu ağırlıklarını ayarlayacağını ve veri kümenin boyutuna göre hangi optimizasyon algoritması ayarlarının en iyi sonucu vereceğini.

Genel resmi görmek için makaleyi oku

Bu sayfada yayımlanan kontrol noktalarında kaydedilen hiperparametreler ele alınır. Mimari, kayıp ve etiket atama değişiklikleri ile ablasyonlar da dâhil olmak üzere bunların ardındaki gerekçeler için Ultralytics YOLO26: Birleşik Gerçek Zamanlı Uçtan Uca Görsel Modeller makalesini oku.

Eğitime Genel Bakış#

Tüm YOLO26 temel modelleri iki aşamada eğitildi: 150 epoch süren Objects365v1 ön eğitimi ve ardından COCO ince ayarı. Her iki aşama da 640x640 çözünürlükte, MuSGD optimizer'ı ve 128 batch boyutuyla yürütüldü. Hiçbir YOLO26 kontrol noktası rastgele ağırlıklardan başlayarak COCO üzerinde eğitilmedi; bu nedenle çoğu boyutta COCO aşaması kısadır ve COCO aşamasının hiperparametreleri evrimsel aramayla bulundu. Her model boyutuna ait tam eğitim günlükleri ve metrikler yayımlanan kontrol noktalarının içinde saklanır ve Ultralytics Platform üzerinde grafik olarak gösterilir.

Tüm boyutlarda öne çıkan tasarım tercihleri:

  • COCO aşamasından önce her boyut için Objects365 ön eğitimi
  • Hem one-to-many hem de one-to-one denetimi kullanan çift başlıklı eğitim; çıkarımda varsayılan olarak NMS kullanılır, nms=False ise NMS içermeyen başlığı seçer
  • Ağırlık matrisleri (2D doğrusal ağırlıklar ve 2D'ye yeniden şekillendirilen 4D evrişim filtreleri) için SGD'yi Muon tarzı ortogonalleştirilmiş güncellemelerle birleştiren MuSGD optimizer'ı
  • Yoğun mozaik veri artırma (~0.9-1.0 olasılık), son epoch'larda devre dışı bırakılır (ön eğitimde close_mosaic=8, COCO'da close_mosaic=10)
  • Farklı boyutlardaki nesneleri ele almak için agresif ölçek veri artırma (0.5-0.95)
  • Geometrik bozulmayı düşük tutmak için çoğu boyutta asgari düzeyde döndürme/kaydırma

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

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

COCO kontrol noktası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, aramayla bulunan 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 için farklı değerler kullanıldı. X modelindeki warmup_epochs, veri artırma güçleri ve tablolardan sonra listelenen dahili MuSGD ve başlık 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
Veri 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, tüm yapılandırmayı değil, ön eğitimi şekillendiren ayarları kapsar. Kontrol noktaları 100'den fazla argüman kaydeder; bu nedenle yetkili liste için aşağıda gösterildiği gibi train_args değerini yazdır.

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

Ön eğitimde ayrıca Dahili Eğitim Parametreleri bölümünde açıklanan türden deneysel dal parametreleri de değiştirildi. cls_w tüm boyutlarda 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ından başla

1. aşamayı yeniden kullanmak için Objects365 veri kümesine ihtiyacın yok. Önceden eğitilmiş ağırlıklar, diğer Ultralytics varlıkları gibi otomatik olarak indirilir; böylece bu ağırlıklara kendi veri kümen üzerinde ince ayar yapabilirsin:

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ıklardan başla ve aşağıdaki tablolarda ilgili boyut için verilen 2. aşama optimizer, loss ve artırma değerlerini kullan. Tablolarda warmup_momentum, warmup_bias_lr, perspective, flipud ve cutmix gibi varsayılan olmayan daha küçük argümanlar yer almadığından, tam yapılandırmayı görmek için kontrol noktasından train_args değerini yazdır. Dahili parametreler yayımlanan paket tarafından kabul edilmez; bunları kullanmak için deneysel dal gerekir.

YOLO26 Kontrol Noktası Eğitim Argümanlarını İnceleme#

Her Ultralytics kontrol noktası, kendisini oluşturmak için kullanılan eğitim yapılandırmasının tamamını saklar; böylece bu sayfadaki her sayıyı kendin doğrulayabilirsin:

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

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

Çıktı, bu sayfada belgelenen tüm tarif değerleri dâhil 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: MuSGD

Bu, hem resmî sürümler hem de kendi ince ayar yaptığın modeller olmak üzere tüm .pt kontrol noktaları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 kontrol noktası, onu oluşturan çalışmanın her dönemine ait eksiksiz results.csv verilerini ve son doğrulama metriklerini de içerir. Resmî YOLO26 kontrol noktalarının eğrileri Ultralytics Platform'da yayımlanır; ayrıca herhangi bir .pt dosyasını bir projeye sürükleyip bırakabilir ve dosyadaki meta verilerin otomatik olarak ayrıştırılmasıyla aynı verileri grafik hâlinde görüntüleyebilirsin.

Her kontrol noktası, onu oluşturan aşamayı kapsar; bu nedenle COCO eğrileri yolo26s.pt içinde, 150 dönemlik Objects365 eğrileri ise yolo26s-objv1-150.pt içinde bulunur.

Kod Revizyonunu Kontrol Etme#

ckpt["git"], kontrol noktasını oluşturan commit'i kaydeder. Bu commit'ler Ultralytics deposunun herkese açık deneysel dallarında bulunduğundan, eğitim kodunun tam sürümünü alabilirsin:

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 sürümüne hiç eklenmemiş çalışmaları (yapılandırılabilir o2m ve cls_w gibi) içerir. Aşağıda belgelenen hiperparametrelerle main üzerinde eğitim yapmak bit düzeyinde aynı sonucu vermez, ancak yayımlanmış metriklerden ihmal edilebilir ölçüde farklı sonuçlar üretir.

Model Boyutuna Göre YOLO26 Eğitim Hiperparametreleri#

Bunlar, yukarıdaki Objects365 ağırlıklarına uygulanan 2. aşama değerleridir. Aşağıdaki tablolar tarifi kategorilere ayırır: optimizer ve zamanlama, loss ağırlıkları ve artırma. Her değer, yayımlanan kontrol noktalarına gömülü train_args yapılandırmasından alınmıştır.

Optimizer ve Öğrenme Oranı#

Bu optimizer ve zamanlama ayarları, her boyut için COCO ince ayar sürecini 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, hızlı azalma (lrf=0.0495) ile daha yüksek bir başlangıç öğrenme oranı kullandı; S/M/L/X modelleri ise daha yumuşak bir zamanlamayla (lrf=0.882) çok daha düşük bir başlangıç öğrenme oranı kullandı. Bu, küçük ve büyük modellerin farklı yakınsama dinamiklerini yansıtır: küçük modellerin etkili öğrenebilmesi için daha agresif güncellemelere ihtiyacı vardır.

Loss Ağırlıkları#

Loss ağırlıkları, tespit loss'unun üç 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 kazancını dağılım odaklı loss yerine normalize edilmiş kutu uzaklıkları üzerinde L1 loss'u ağırlıklandırmak için 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 regresyon terimine öncelik verirken S/M/L/X modelleri vurguyu IoU tabanlı kutu regresyonuna kaydırır. Sınıflandırma loss'u tüm boyutlarda nispeten tutarlıdı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 kontrol noktalarında 0,01'in altındadır (örneğin S modeli için degrees=0.00012); yani artırma pratikte devre dışıdır.

Daha büyük modeller genel olarak daha agresif artırma (daha yüksek mixup ve ölçek) kullanır; çünkü kapasiteleri daha fazladır ve daha güçlü düzenlileştirmeden yararlanırlar. Anlamlı düzeyde döndürme, kesme ve BGR artırması kullanan tek boyut N modelidir.

Dahili Eğitim Parametreleri#

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

Kontrol noktaları, 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 başlık loss ağırlığı1.00.7050.7050.7050.705
topkTop-k etiket ataması85555

İnce ayar sırasında ne anlama geldiklerini öğrenmek için bu parametrelere ilişkin SSS yanıtına bak.

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

YOLO26'yı kendi veri kümen üzerinde ince ayarlarken ön eğitim tarifinin tamamını tekrarlaman gerekmez. Önceden eğitilmiş ağırlıklar, COCO eğitiminin artırma ve optimizasyon bilgisini zaten içerir. 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 başlangıç noktasıdır. Hiperparametreleri yalnızca belirli bir nedenin varsa değiştir.

YOLO26 Hiperparametrelerini Ne Zaman Ayarlamalısın?#

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

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

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

  • Ön eğitim tarifine daha yakından uy
  • Daha uzun çalışmalar için optimizer=MuSGD kullanmayı değerlendir
  • Artırmayı artır: mosaic=1.0, mixup=0.3, scale=0.9

Belirli alanlara özgü görüntüler (hava, tıbbi, su altı):

  • Dikey yönelim değişkenlik gösteriyorsa flipud=0.5 değerini artır
  • Nesneler rastgele açılarda 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ç#

ModelEn Uygun Kullanım AlanıBatch Boyutu Rehberi
YOLO26nUç cihazlar, mobil, CPU üzerinde gerçek zamanlı kullanımTüketici GPU'larında büyük batch boyutları (64-128)
YOLO26sHız ve doğruluk dengesiOrta büyüklükte batch boyutları (32-64)
YOLO26mOrta düzey hesaplama gücüyle daha yüksek doğrulukDaha küçük batch boyutları (16-32)
YOLO26lGPU mevcutsa yüksek doğrulukKüçük batch boyutları (8-16) veya çoklu GPU
YOLO26xMaksimum doğruluk, sunucu dağıtımıKüçük batch boyutları (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 kontrol noktaları, eksiksiz eğitim tariflerini içlerinde taşır; böylece her model boyutunun tam hiperparametrelerine tek bir train_args sorgusuyla ulaşabilirsin. İnce ayara varsayılanlarla başla, bu sayfadaki tabloları kullanarak bilinçli değişiklikler yap ve her değişikliği kendi doğrulama kümenle kontrol et. Süreç boyunca soruların olursa Ultralytics GitHub deposunda veya Ultralytics Discord sunucusunda topluluğa sor.

Sık Sorulan Sorular#

  • Kontrol noktasını torch.load() ile yükleyip train_args anahtarına eriş veya Ultralytics API ile model.ckpt["train_args"] kullan. Tam örnekler için YOLO26 Kontrol Noktası Eğitim Argümanlarını İnceleme sayfasına bak.

  • Her boyut, Objects365 üzerinde aynı 150 dönemlik ön eğitimi aldı; dolayısıyla COCO sayıları yalnızca ince ayar aşamasını kapsar. Büyük modeller COCO'da bu aşamanın daha az döneminde yakınsar: X modeli 40, N modeli 245 dönem kullandı. Sayılar kesin olarak artan bir sıra izlemez (S modeli 70, M modeli 80 dönem kullandı); çünkü model boyutuna özel hiperparametre aramasından elde edildiler. Kendi veri kümen üzerinde ince ayar yaparken en uygun dönem sayısı model boyutuna değil, veri kümenin boyutuna ve karmaşıklığına bağlıdır. Uygun durdurma noktasını otomatik olarak bulmak için erken durdurmayı (patience) kullan.

  • Bunlar, temel kontrol noktalarını oluşturan deneysel daldan gelir ve yeniden üretilebilirlik için train_args içinde kaydedilmiştir. default.yaml içinde kullanıcı tarafından yapılandırılabilir ayarlar değildir ve yayımlanan paket bunları okumadığından model.train() parametresine aktarıldıklarında geçersiz argüman hatası oluşur. İnce ayar yaparken bunları ayarlaman gerekmez; her model boyutunun değerleri için Dahili Eğitim Parametreleri sayfasına bak.

  • Hayır. Her COCO kontrol noktası, 1. Aşama: Objects365 Ön Eğitimi bölümünde ve YOLO26 makalesinde açıklandığı gibi, aynı boyuttaki ve Objects365v1 üzerinde önceden 150 dönem eğitilmiş bir kontrol noktasından ince ayar yapılarak oluşturuldu. Yayımlanan sayıların arkasında sıfırdan yürütülmüş bir COCO eğitimi yoktur; bu nedenle sıfırdan eğitim sonuçlarını bu sayılarla karşılaştırmak eşdeğer bir karşılaştırma olmaz.

  • Kontrol noktalarının içinde bulunurlar ve Ultralytics Platform'da grafik hâlinde görüntülenirler. Her kontrol noktası, çalışmasının dönem başına eksiksiz results.csv verilerini saklar; bu nedenle bir .pt dosyasını Platform projesine bırakmak, herhangi bir kod kullanmadan loss değerlerini, mAP ilerlemesini ve öğrenme oranlarını grafik hâlinde gösterir. Eğitim Eğrilerini Görüntüleme bölümüne bak. Objects365 aşamasının yolo26*-objv1-150.pt kontrol noktalarında kendine ait bir günlüğü vardır.

  • Yayımlanan metriklere yakın sonuçlar elde edersin, ancak sonuçlar birebir aynı olmaz. Birebir aynı kurulum için kontrol noktasında kaydedilen commit'i al ve o dalda eğitim yap. Kod Revizyonunu Kontrol Etme bölümüne bak.

Yorumlar