YOLO26 Antrenman Programı
Giriş
Bu kılavuz, tam olarak eğitim resmi versiyonun hazırlanmasında kullanılan tarif YOLO26 önceden eğitilmiş kontrol noktaları COCO. Her hiperparametre Burada gösterilen, yayınlanan sürüme zaten eklenmiştir .pt ağırlıkları vardır ve program yoluyla denetlenebilir.
Temel modellerin nasıl eğitildiğini anlamak, ince ayar yaparken daha iyi kararlar vermenize yardımcı olur: hangi veri genişletmelerini koruyacağınız, hangi kayıp fonksiyonu ağırlıklarını ayarlayacağınız ve veri kümenizin boyutuna en uygun optimizasyon ayarlarının hangileri olduğu gibi konularda.
Bu kılavuz kimler içindir?
Bu kılavuz, YOLO26’nın resmi kontrol noktalarının nasıl oluşturulduğunu anlamak isteyen uygulayıcılara yöneliktir — sadece mimariyi değil, performanslarını şekillendiren öğrenme hızı programlarını, veri zenginleştirme süreçlerini ve kayıp ağırlıklarını da kapsar. Kendi verileriniz üzerinde ince ayar yaparken bilinçli kararlar almak için bu bilgileri kullanın.
Eğitim Argümanlarını İnceleme
Her Ultralytics , oluşturulmasında kullanılan tüm eğitim yapılandırmasını saklar. Bu ayarları istediğiniz zaman inceleyebilirsiniz:
Kontrol noktası eğitim argümanlarını denetle
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, her türlü durum için geçerlidir .pt kontrol noktası — hem resmi sürümler hem de kendi ince ayarlarını yaptığınız modeller. Yapılandırılabilir eğitim argümanlarının tam listesi için bkz. eğitim yapılandırma kılavuzu.
Eğitim Genel Bakış
Tüm YOLO26 temel modelleri, 640x640 COCO üzerinde, 128'lik parti büyüklüğüyle MuSGD optimizörü kullanılarak eğitilmiştir. Modeller, önceden eğitilmiş ara ağırlıklar kullanılarak başlatılmış ve evrimsel arama yoluyla belirlenen hiperparametrelerle iyileştirilmiştir. Her model boyutu için tam eğitim günlükleri ve metrikler Ultralytics 'nda mevcuttur:
Tüm boyutlarda öne çıkan tasarım özellikleri:
- Baştan sona eğitim (
end2end=True) NMS bire bir başlık ile - Konvolüsyonel ağırlıklar için SGD Muon tarzı ortogonalize güncellemeleri birleştiren MuSGD optimizörü
- Yoğun mozaik dolgusu (~0,9-1,0 olasılıkla) son 10 döngüde devre dışı bırakıldı (
close_mosaic=10) - Farklı boyutlardaki nesneleri işlemek için genişletme aralığı (0,56–0,95)
- Çoğu boyutta minimum dönme/kayma, geometrik bozulmayı düşük tutar
Model Büyüklüğüne Göre Hiperparametreler
Optimizer ve Öğrenme Hızı
| 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 hızı stratejisi
N modeli, hızlı azalan daha yüksek bir başlangıç öğrenme hızı kullandı (lrf=0.0495), S/M/L/X modellerinde ise çok daha düşük bir başlangıç LR değeri ve daha yumuşak bir program kullanıldı (lrf=0.882). Bu durum, küçük ve büyük modellerin birbirinden farklı yakınsama dinamiklerini yansıtmaktadır — küçük modellerin etkili bir şekilde öğrenebilmesi için daha agresif güncellemelere ihtiyaç duyar.
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 kayıplarına öncelik verirken, S/M/L/X modelleri ağırlığı sınırlayıcı kutu regresyonuna kaydırmaktadır. Sınıflandırma kayıpları ise tüm boyutlarda nispeten tutarlı kalmaktadır.
Genişletme Süreci
Her bir tekniğin ayrıntılı açıklaması için YOLO Genişletme 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, daha fazla kapasiteye sahip oldukları ve daha güçlü düzenlemeden yararlandıkları için genel olarak daha agresif artırma yöntemleri kullanır (daha yüksek karışım, kopyala-yapıştır ve ölçeklendirme). N modeli, anlamlı rotasyon, kaydırma ve BGR artırma yöntemlerinin uygulandığı tek boyuttur.
İç Eğitim Parametreleri
İleri düzey: dahili iş akışı parametreleri
Kontrol noktaları, dahili eğitim sürecinde kullanılmış ancak değil şu dosyada kullanıcı tarafından yapılandırılabilir ayarlar olarak gösterilir 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 ağırlığı | 0.674 | 0.479 | 0.479 | 0.479 | 0.479 |
cls_w | İç sınıflandırma ağırlığı | 2.74 | 3.48 | 3.48 | 3.48 | 3.48 |
o2m | Bir-çok kafa kaybı ağırlığı | 1.0 | 0.705 | 0.705 | 0.705 | 0.705 |
topk | Top-k etiket ataması | 8 | 5 | 5 | 5 | 5 |
Bu ayarlar tekrarlanabilirlik amacıyla kaydedilir, ancak ince ayar yapılırken ayarlanması gerekmez. Daha fazla bilgi için SSS bölümüne bakın.
İyileştirme Kılavuzu
YOLO26'yı kendi veri kümenizde ince ayarlarken, ön eğitim sürecinin tamamını tekrarlamanıza gerek yoktur. Önceden eğitilmiş ağırlıklar, COCO zenginleştirme ve optimizasyon bilgilerini zaten içermektedir. Daha genel eğitim le ilgili en iyi uygulamalar için bkz. Model Eğitimi İpuçları.
Basit Başlayın
Varsayılan ayarlarla ince ayar yap
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 değerlerle ince ayar yapmak sağlam bir başlangıç noktasıdır. Yalnızca belirli bir nedeniniz varsa hiperparametreleri değiştirin.
Ne Zaman Ayarlamalı
Small datasets (< 1,000 images):
- Dolgunun yoğunluğunu azaltın:
mosaic=0.5,mixup=0.0,copy_paste=0.0 - Daha düşük öğrenme hızı:
lr0=0.001 - Daha az kullanın epok sabırla:
epochs=50,patience=20 - backbone 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 mesafeler için - Artırma:
mosaic=1.0,mixup=0.3,scale=0.9
Alanına özgü görüntüler (hava, tıbbi, su altı):
- Artış
flipud=0.5eğer dikey yön değişirse - Artış
degreesnesneler rastgele dönüş açılarında görünüyorsa - Ayarla
hsv_svehsv_vışık koşulları COCO'dan önemli ölçüde farklıysa
Otomatik hiperparametre optimizasyonu hakkında bilgi için Hiperparametre Ayarlama kılavuzuna bakın.
Model Boyutu Seçimi
| Model | En Uygun Olduğu Alan | Parti Büyüklüğü Kılavuzu |
|---|---|---|
| YOLO26n | Uç cihazlar, mobil, CPU üzerinde gerçek zamanlı | Tüketici GPU'larında büyük partiler (64-128) |
| YOLO26s | Hız ve isabet arasında dengeli bir uyum | Orta büyüklükteki partiler (32-64) |
| YOLO26m | Orta düzeyde hesaplama gücüyle daha yüksek doğruluk | Daha küçük partiler (16-32) |
| YOLO26l | GPU mevcut olduğunda yüksek doğruluk | Küçük gruplar (8-16) veyaGPU |
| YOLO26x | Maksimum doğruluk, sunucu dağıtımı | Küçük gruplar (4-8) veyaGPU |
Dışa aktarma ve dağıtım seçenekleri için Dışa Aktarma kılavuzuna ve Model Dağıtım Seçenekleri bölümüne bakın.
SSS
Herhangi bir kontrol noktası için kullanılan hiperparametrelerin tam değerlerini nasıl görebilirim?
Kontrol noktasını şu şekilde yükleyin: torch.load() ve şu sayfaya erişin train_args tuşuna basın veya model.ckpt["train_args"] Ultralytics ile. Bkz. Eğitim Argümanlarını İnceleme tam örnekler için.
Neden her model boyutu için dönem sayısı farklı?
Daha büyük modeller, daha fazla kapasiteye sahip oldukları COCO daha hızlı yakınsama sağlar. N modeli 245 epok gerektirirken, X modeli sadece 40 epok gerektirmiştir. Kendi veri kümenizde ince ayar yaparken, en uygun epok sayısı modelin büyüklüğüne değil, veri kümenizin boyutuna ve karmaşıklığına bağlıdır. Erken durdurma yöntemini kullanın (patience) doğru durma noktasını otomatik olarak bulmak için.
İnce ayar için MuSGD'yi kullanmalı mıyım?
Ne zaman optimizer=auto (varsayılan ayar), Ultralytics seçer MuSGD daha uzun antrenman koşuları için (>10.000 yineleme) ve AdamW daha kısa olanlar için. Şunu açıkça ayarlayabilirsiniz optimizer=MuSGD isterseniz. Optimize edici seçimi hakkında daha fazla bilgi için bkz. eğitim belgeleri.
Nedir muon_w, sgd_w, cls_w, o2mve topk kontrol noktasında mı?
Bunlar, temel kontrol noktalarını oluşturan eğitim sürecinden elde edilen dahili parametrelerdir. Tekrarlanabilirlik amacıyla saklanmaktadırlar ancak değil kullanıcı tarafından yapılandırılabilen ayarlar default.yaml. Ayarlamalar sırasında bunları ayarlamanıza gerek yoktur. Bkz. İç Eğitim Parametreleri ayrıntılar için.
Ön eğitimi baştan itibaren aynen tekrarlayabilir miyim?
Kontrol noktaları, genel kod tabanında bulunmayan ek özelliklere (örneğin, yapılandırılabilir o2m ağırlıklar ve cls_w). Bu sayfada açıklanan hiperparametreleri, herkese açık Ultralytics ile kullanarak sonuçlara oldukça yakın sonuçlar elde edebilirsiniz; ancak tam olarak aynı sonuçları elde etmek için iç dalı kullanmanız gerekir.