YOLO26 Eğitim Reçetesi
Giriş
Bu kılavuz, resmi üretmek için kullanılan tam eğitim tarifi belgeliyor YOLO26 önceden eğitilmiş kontrol noktalarını COCO. Burada gösterilen her hiperparametre yayınlanan ağırlıklara zaten gömülüdür ve programatik olarak incelenebilir. .pt ağırlıklara zaten gömülüdür ve programatik olarak incelenebilir.
Temel modellerin nasıl eğitildiğini anlamak, ince ayar yaparken daha iyi kararlar vermenize yardımcı olur: hangi veri artırmalarını koruyacağınızı, hangi kayıp fonksiyonu ağırlıklarını ayarlayacağınızı ve veri kümenizin boyutu için hangi optimize edici ayarlarının en iyi sonucu verdiğini.
Bu kılavuz kimler içindir?
Bu kılavuz, resmi YOLO26 kontrol noktalarının arkasındaki süreci — sadece mimariyi değil, performanslarını şekillendiren öğrenme oranı programlarını, artırma hatlarını ve kayıp ağırlıklarını — anlamak isteyen uygulayıcılar içindir. Kendi verileriniz üzerinde ince ayar yaparken bilinçli seçimler yapmak için bu bilgiyi kullanın.
Eğitim Argümanlarını İnceleme
Her Ultralytics kontrol noktası, onu üretmek için kullanılan tüm eğitim yapılandırmasını saklar. Bu ayarları istediğiniz zaman inceleyebilirsiniz:
Kontrol noktası eğitim argümanlarını inceleyin
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])
import torch
# Load any official checkpoint
ckpt = torch.load("yolo26n.pt", map_location="cpu", weights_only=False)
# Print all training arguments
for k, v in sorted(ckpt["train_args"].items()):
print(f"{k}: {v}")
Bu, herhangi bir .pt kontrol noktası — hem resmi sürümler hem de kendi ince ayarlı modelleriniz için geçerlidir. Yapılandırılabilir eğitim argümanlarının tam listesi için şuraya bakın: eğitim yapılandırma referansı.
Eğitime Genel Bakış
Tüm YOLO26 temel modelleri, COCO üzerinde 640x640 çözünürlükte, 128'lik yığın boyutu ile MuSGD optimize edici 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 metrikleri Ultralytics Platformu üzerinde mevcuttur:
Tüm boyutlarda temel tasarım seçimleri:
- Uçtan uca eğitim (
end2end=True) NMS içermeyen birebir başlık ile - MuSGD optimize edici, SGD'yi evrişim ağırlıkları için Müon tarzı ortogonalize edilmiş güncellemelerle birleştirir
- Yoğun mozaik artırma (~0.9-1.0 olasılık) son 10 epokta devre dışı bırakıldı (
close_mosaic=10) - Agresif ölçek artırma (0.56-0.95) farklı boyutlardaki nesneleri işlemek için
- Çoğu boyut için minimal döndürme/kaydırma, geometrik bozulmayı düşük tutarak
Model Boyutuna Göre Hiperparametreler
Optimize Edici ve Öğrenme Oranı
| 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 |
Öğrenme oranı stratejisi
N modeli, yüksek bir başlangıç öğrenme oranı ve dik bir düşüş ile kullanıldı (lrf=0.0495), S/M/L/X modelleri ise çok daha düşük bir başlangıç LR'si ve daha nazik bir programlama ile kullanıldı (lrf=0.882). 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ı
| 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 sınırlayıcı kutu regresyonuna kaydırır. Sınıflandırma kaybı tüm boyutlarda nispeten tutarlı kalır.
Artırma Hattı
Her tekniğin ayrıntılı açıklaması için YOLO Veri Artırma 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 |
Daha büyük modeller genel olarak daha agresif artırma kullanır (daha yüksek MixUp, kopyala-yapıştır ve ölçeklendirme), çünkü daha fazla kapasiteye sahiptirler ve daha güçlü düzenlileştirmeden faydalanırlar. N modeli, anlamlı döndürme, kaydırma ve BGR artırmasına sahip tek boyuttur.
Dahili Eğitim Parametreleri
Gelişmiş: dahili işlem hattı parametreleri
Kontrol noktaları ayrıca dahili eğitim işlem hattında kullanılan ancak olmayan kullanıcı tarafından yapılandırılabilir ayarlar olarak sunulmayan default.yaml:
| Ayar | Açıklama | N | S | M | L | X |
|---|---|---|---|---|---|---|
muon_w | MuSGD'de Müon güncelleme ağırlığı | 0.528 | 0.436 | 0.436 | 0.436 | 0.436 |
sgd_w | MuSGD'de 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 kaybı ağırlığı | 1.0 | 0.705 | 0.705 | 0.705 | 0.705 |
topk | En iyi k etiket ataması | 8 | 5 | 5 | 5 | 5 |
Bunlar tekrarlanabilirlik için kaydedilir ancak ince ayar yaparken ayarlanmaları gerekmez. Daha fazla ayrıntı için SSS'ye bakın.
İnce Ayar Rehberliği
Kendi veri kümenizde YOLO26'ya ince ayar yaparken, tam ön eğitim tarifini tekrarlamanıza gerek yoktur. Önceden eğitilmiş ağırlıklar, COCO eğitiminden elde edilen artırma ve optimizasyon bilgisini zaten kodlamıştır. Daha genel eğitim en iyi uygulamaları için Model Eğitimi İpuçları'na bakın.
Basit Başlayın
Varsayılanlarla ince ayar yapın
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
yolo train model=yolo26n.pt data=your-dataset.yaml epochs=100 imgsz=640
Varsayılan ayarlarla ince ayar güçlü bir başlangıç noktasıdır. Hiperparametreleri yalnızca belirli bir nedeniniz varsa ayarlayın.
Ne Zaman Ayarlanmalı
Small datasets (< 1,000 images):
- Artırma gücünü azaltın:
mosaic=0.5,mixup=0.0,copy_paste=0.0 - Öğrenme oranını düşürün:
lr0=0.001 - Daha az kullanın epok sabırla:
epochs=50,patience=20 - backbone katmanlarını dondurmayı düşünün:
freeze=10
Büyük veri kümeleri (> 50.000 görüntü):
- Ön eğitim tarifine daha yakından uyun
- Şunu düşünün:
optimizer=MuSGDdaha uzun süreli çalıştırmalar için - Artırmayı artırın:
mosaic=1.0,mixup=0.3,scale=0.9
Alana özgü görüntüler (havadan, tıbbi, su altı):
- Artırın
flipud=0.5dikey yönelim değişiyorsa - Artırın
degreesnesneler rastgele dönüşlerde görünüyorsa - Ayarlayın
hsv_svehsv_vaydınlatma koşulları COCO'dan önemli ölçüde farklıysa
Otomatik hiperparametre optimizasyonu için Hiperparametre Ayarlama kılavuzuna bakın.
Model Boyutu Seçimi
| Model | En Uygun Olduğu Alan | Toplu İş Boyutu Rehberliği |
|---|---|---|
| YOLO26n | Uç cihazlar, mobil, CPU üzerinde gerçek zamanlı | Tüketici GPU'larında büyük toplu işler (64-128) |
| YOLO26s | Dengeli hız ve doğruluk | Orta toplu işler (32-64) |
| YOLO26m | Orta düzeyde hesaplama ile daha yüksek doğruluk | Daha küçük toplu işler (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 Dışa Aktarma Kılavuzu ve Model Dağıtım Seçenekleri bölümüne bakınız.
SSS
Herhangi bir kontrol noktası için kullanılan kesin hiperparametreleri nasıl görebilirim?
Kontrol noktasını şununla yükleyin torch.load() ve şuna erişin train_args anahtarını veya şunu kullanın model.ckpt["train_args"] Ultralytics API ile. Bakınız Eğitim Argümanlarını İnceleme eksiksiz örnekler için.
Her model boyutu için epok sayıları neden farklı?
Daha büyük modeller, daha fazla kapasiteye sahip oldukları için COCO üzerinde daha hızlı yakınsar. N modeli 245 epok gerektirirken, X modeli sadece 40 epok gerektirdi. Kendi veri kümeniz üzerinde ince ayar yaparken, optimal epok 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 durdurmayı (patience) kullanarak doğru durma noktasını otomatik olarak bulun.
İnce ayar için MuSGD kullanmalı mıyım?
Ne zaman optimizer=auto (varsayılan), Ultralytics otomatik olarak şunu seçer MuSGD daha uzun eğitim çalışmaları (>10.000 iterasyon) için ve AdamW daha kısa olanlar için. Açıkça ayarlayabilirsiniz optimizer=MuSGD tercih ederseniz. Optimizasyon seçimi hakkında daha fazla bilgi için şuraya bakınız: eğitim dokümantasyonu.
Nedir muon_w, sgd_w, cls_w, o2mve topk kontrol noktasında?
Bunlar, temel kontrol noktalarını üreten eğitim hattından gelen dahili parametrelerdir. Tekrarlanabilirlik için saklanırlar ancak olmayan kullanıcı tarafından yapılandırılabilir ayarlar default.yaml. İnce ayar yaparken bunları ayarlamanıza gerek yoktur. Bakınız Dahili Eğitim Parametreleri ayrıntılar için.
Tam ön eğitimi sıfırdan yeniden oluşturabilir miyim?
Kontrol noktaları, genel kod tabanında bulunmayan ek özelliklere sahip dahili bir eğitim dalı kullanılarak üretildi (yapılandırılabilir gibi o2m ağırlıklar ve cls_w). Genel Ultralytics paketi ile bu sayfada belgelenen hiperparametreleri kullanarak çok yakın sonuçlar elde edebilirsiniz, ancak tam bir yeniden üretim dahili dalı gerektirir.