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, 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:
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ı
| Ayar | N | S | M | L | X |
|---|---|---|---|---|---|
optimizer | YOLO26'da, | YOLO26'da, | YOLO26'da, | YOLO26'da, | YOLO26'da, |
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 (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ı
| 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 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.
| 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 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:
| Ayar | Açıklama | N | S | M | L | X |
|---|---|---|---|---|---|---|
muon_w | MuSGD içerisindeki Muon güncelleme ağırlığı | 0.528 | 0.436 | 0.436 | 0.436 | 0.436 |
sgd_w | MuSGD içerisindeki 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 (one-to-many) başlık kayıp ağırlığı | 1.0 | 0.705 | 0.705 | 0.705 | 0.705 |
topk | Top-k etiket ataması | 8 | 5 | 5 | 5 | 5 |
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
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=MuSGDkullanmayı 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.5değ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_svehsv_vdeğerini ayarla
Otomatik hiperparametre optimizasyonu için şuraya bak:Hiperparametre Ayarlama kılavuzu.
Model Boyutu Seçme
| Model | En Uygun Olduğu Alan | Toplu İş Boyutu (Batch Size) Kılavuzu |
|---|---|---|
| YOLO26n | Uç cihazlar, mobil, CPU üzerinde gerçek zamanlı | Tüketici GPU'larında büyük gruplar (64-128) |
| YOLO26s | Dengeli hız ve doğruluk | Orta büyüklükte gruplar (32-64) |
| YOLO26m | Orta düzey hesaplama ile daha yüksek doğruluk | Daha küçük gruplar (16-32) |
| YOLO26l | GPU mevcut olduğunda yüksek doğruluk | Küçük gruplar (8-16) veya çoklu GPU |
| YOLO26x | Maksimum 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.