Ultralytics YOLO27:
Get Started

Yapılandırma#

YOLO ayarları ve hiperparametreleri, modelin performansında, hızında ve doğruluğunda kritik rol oynar. Bu ayarlar, eğitim, doğrulama ve tahmin dahil olmak üzere çeşitli aşamalarda modelin davranışını etkileyebilir.



İzle: Ultralytics YOLO'da Uzmanlaşma: Yapılandırma

Ultralytics komutları şu sözdizimini kullanır:

Örnek
yolo TASK MODE ARGS

Burada:

Varsayılan ARG değerleri bu sayfada tanımlanır ve cfg/default.yaml dosyasından alınır.

Görevler#

Ultralytics YOLO modelleri, aşağıdakiler dahil çeşitli bilgisayarlı görü görevlerini gerçekleştirebilir:

  • Algılama: Nesne algılama, bir görüntü veya videodaki nesneleri belirler ve konumlarını saptar.
  • Segmentasyon: Örnek segmentasyonu, bir görüntüyü veya videoyu farklı nesnelere ya da sınıflara karşılık gelen bölgelere ayırır.
  • Anlamsal segmentasyon (semantic): Anlamsal segmentasyon, yoğun sahne anlayışı için bir görüntüdeki her piksele sınıf etiketi atar.
  • Derinlik (depth): Tek gözlü derinlik tahmini, tek bir RGB görüntüsünden piksel başına metre cinsinden derinlik haritası tahmin eder.
  • Sınıflandırma: Görüntü sınıflandırma, giriş görüntüsünün sınıf etiketini tahmin eder.
  • Poz: Poz tahmini, bir görüntü veya videodaki nesneleri belirler ve anahtar noktalarını tahmin eder.
  • OBB: Yönlendirilmiş sınırlayıcı kutular, uydu veya tıbbi görüntülere uygun, döndürülmüş sınırlayıcı kutular kullanır.
Bağımsız değişkenVarsayılanAçıklama
task'detect'YOLO görevini belirtir: nesne tespiti için detect, örnek segmentasyonu için segment, anlamsal segmentasyon için semantic, tek gözlü derinlik tahmini için depth, sınıflandırma için classify, poz tahmini için pose ve yönlendirilmiş sınırlayıcı kutular için obb. Her görev, görüntü ve video analizindeki belirli çıktılara ve problemlere göre tasarlanmıştır.

Görevler Kılavuzu

Modlar#

Ultralytics YOLO modelleri, her biri model yaşam döngüsünün belirli bir aşaması için tasarlanmış farklı modlarda çalışır:

  • Train: Bir YOLO modelini özel bir veri kümesiyle eğit.
  • Val: Eğitilmiş bir YOLO modelini doğrula.
  • Predict: Yeni görüntüler veya videolar üzerinde tahminler yapmak için eğitilmiş bir YOLO modeli kullan.
  • Export: Bir YOLO modelini dağıtım için dışa aktar.
  • Track: Bir YOLO modeli kullanarak nesneleri gerçek zamanlı izle.
  • Benchmark: YOLO dışa aktarımlarının (ONNX, TensorRT vb.) hızını ve doğruluğunu kıyasla.
Bağımsız değişkenVarsayılanAçıklama
mode'train'YOLO modelinin çalışma modunu belirtir: model eğitimi için train, doğrulama için val, çıkarım için predict, dağıtım biçimlerine dönüştürme için export, nesne takibi için track ve performans değerlendirmesi için benchmark. Her mod, geliştirmeden dağıtıma kadar farklı aşamaları destekler.

Modlar Kılavuzu

Eğitim Ayarları#

YOLO modellerine yönelik eğitim ayarları; modelin performansını, hızını ve doğruluğunu etkileyen hiperparametreleri ve yapılandırmaları içerir. Temel ayarlar arasında yığın boyutu, öğrenme oranı, momentum ve ağırlık azalması bulunur. Optimizasyon algoritması, kayıp fonksiyonu ve veri kümesinin bileşimi de eğitimi etkiler. En iyi performansı elde etmek için ayarlama ve denemeler kritik öneme sahiptir. Daha fazla bilgi için Ultralytics giriş noktası fonksiyonuna bak.

Bağımsız değişkenTürVarsayılanAçıklama
modelstrNoneEğitim için model dosyasını belirtir. Önceden eğitilmiş bir .pt modele veya .yaml yapılandırma dosyasına giden yolu kabul eder. Model yapısını tanımlamak veya ağırlıkları başlatmak için gereklidir.
datastrNoneEğitim ve doğrulama verilerinin yollarını, sınıf adlarını ve sınıf sayısını içeren veri kümesi YAML dosyasının yolu (ör. coco8.yaml). Sınıflandırma için bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı (ör. imagenet10) kullanılır.
epochsint100Toplam eğitim turu sayısı. Her tur, tüm veri kümesinin baştan sona bir kez işlenmesini ifade eder. Bu değerin ayarlanması eğitim süresini ve model performansını etkileyebilir.
timefloatNoneSaat cinsinden maksimum eğitim süresi. Ayarlanırsa epochs bağımsız değişkenini geçersiz kılar ve eğitimin belirtilen süreden sonra otomatik olarak durmasını sağlar. Zaman kısıtlaması olan eğitim senaryolarında kullanışlıdır.
patienceint100Eğitimin erken durdurulmasından önce doğrulama metriklerinde iyileşme olmadan beklenecek tur sayısı. Performans sabitlendiğinde eğitimi durdurarak aşırı öğrenmeyi önlemeye yardımcı olur.
batchint veya float16Yığın boyutu için üç mod bulunur: bir tam sayı (ör. batch=16) olarak ayarlama, GPU belleğinin %60'ını kullanmaya yönelik otomatik mod (batch=-1) veya kullanım oranı belirtilen otomatik mod (batch=0.70).
imgszint640Eğitim için hedef görüntü boyutu. Görüntüler, kenar uzunlukları belirtilen değere eşit karelere yeniden boyutlandırılır (rect=False ise); YOLO modellerinde en-boy oranı korunur, RT-DETR'de korunmaz. Model doğruluğunu ve hesaplama karmaşıklığını etkiler.
saveboolTrueEğitim kontrol noktalarının ve nihai model ağırlıklarının kaydedilmesini sağlar. Eğitime devam etmek veya model dağıtımı için kullanışlıdır.
save_periodint-1Model kontrol noktalarının kaydedilme sıklığını tur cinsinden belirtir. -1 değeri bu özelliği devre dışı bırakır. Uzun eğitim süreçlerinde ara modelleri kaydetmek için kullanışlıdır.
cachebool veya strFalseVeri kümesi görüntülerinin bellekte (True/ram) veya diskte (disk) önbelleğe alınmasını sağlar ya da önbelleğe almayı devre dışı bırakır (False). Bellek kullanımını artırma pahasına disk G/Ç işlemlerini azaltarak eğitim hızını artırır.
deviceint veya str veya listNoneEğitim için hesaplama aygıtlarını belirtir: tek GPU (device=0), birden fazla GPU (device=[0,1]), CPU (device=cpu), Apple silicon için MPS (device=mps), Huawei Ascend NPU (device=npu:0 veya device=npu:0,1), Intel XPU (device=xpu:0), boşta olan GPU'yu (device=-1) veya birden fazla boşta GPU'yu (device=[-1,-1]) otomatik seçme.
workersint8Veri yüklemeye yönelik iş parçacığı sayısı (çoklu GPU eğitiminde her RANK için). Veri ön işlemenin ve modele aktarımın hızını etkiler; özellikle çoklu GPU kurulumlarında kullanışlıdır.
projectstrNoneEğitim çıktılarının kaydedildiği proje dizininin adı. Farklı denemelerin düzenli biçimde saklanmasını sağlar.
namestrNoneEğitim çalışmasının adı. Eğitim günlüklerinin ve çıktılarının saklandığı proje klasöründe bir alt dizin oluşturmak için kullanılır.
exist_okboolFalseTrue ise mevcut bir proje/ad dizininin üzerine yazılmasını sağlar. Önceki çıktıları elle temizlemeye gerek kalmadan yinelemeli denemeler yapmayı kolaylaştırır.
save_dirstrNoneÇalışma çıktılarının kaydedileceği tam dizini belirtir ve project/name birleşimini geçersiz kılar. Yol olduğu gibi kullanılır, otomatik olarak numaralandırılmaz; bu nedenle art arda yapılan çalışmalar aynı dizini kullanır.
pretrainedbool veya strTrueEğitimin önceden eğitilmiş ağırlıklarla başlatılıp başlatılmayacağını belirler. Boole değeri veya yüklenecek ağırlıklara giden bir yol olarak belirtilebilir. pretrained=False, model mimarisini korurken rastgele başlatılmış ağırlıklarla eğitim yapar.
cls_remapboolTrueVeri kümeleri arasında ince ayar yaparken, sınıf adları eşleştiği durumlarda önceden eğitilmiş sınıflandırma başlığı satırlarını yeni modele kopyalar; böylece örtüşen sınıflar öğrendikleri bias değerlerini ve başlık genişliği değişmediğinde ağırlıklarını da korur. Sınıf sayıları farklı olsa da aynı olup sınıf sıraları değişse de uygulanır.
optimizerstr'auto'Eğitim için kullanılacak optimizasyon algoritmasını seçer. Seçenekler arasında SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp veya eğitim yineleme sayısına göre AdamW ya da MuSGD seçmek için auto bulunur. Yakınsama hızını ve kararlılığını etkiler.
seedint0Eğitim için rastgelelik tohumunu ayarlayarak aynı yapılandırmalarla yapılan çalışmalarda sonuçların yeniden üretilebilir olmasını sağlar.
deterministicboolTrueBelirleyici algoritmaların kullanılmasını zorunlu kılar. Bu, yeniden üretilebilirliği sağlar ancak belirleyici olmayan algoritmaların kısıtlanması nedeniyle performansı ve hızı etkileyebilir.
verboseboolTrueEğitim sırasında ayrıntılı çıktıyı etkinleştirir; ilerleme çubuklarını, her tur için metrikleri ve ek eğitim bilgilerini konsolda görüntüler.
single_clsboolFalseÇok sınıflı veri kümelerindeki tüm sınıfları eğitim sırasında tek bir sınıf olarak ele alır. İkili sınıflandırma görevlerinde veya sınıflandırma yerine nesnenin varlığına odaklanırken kullanışlıdır.
classeslist[int]NoneEğitim yapılacak sınıf kimliklerinin listesini belirtir. Eğitim sırasında belirli sınıfları filtreleyip yalnızca bunlara odaklanmak için kullanışlıdır.
rectboolFalseMinimum dolgu stratejisini etkinleştirir: bir yığındaki görüntüler, en uzun kenar imgsz olacak şekilde ortak boyuta ulaşmaları için en az miktarda dolguyla tamamlanır. Verimliliği ve hızı artırabilir ancak model doğruluğunu etkileyebilir.
multi_scalefloat0.0Her yığında imgsz değerini +/- multi_scale kadar rastgele değiştirir (ör. 0.25 -> 0.75x ile 1.25x arasına); model adım boyutunun katlarına yuvarlar. 0.0, çok ölçekli eğitimi devre dışı bırakır.
cos_lrboolFalseKosinüs öğrenme oranı zamanlayıcısı kullanır ve öğrenme oranını turlar boyunca kosinüs eğrisini izleyerek ayarlar. Daha iyi yakınsama için öğrenme oranını yönetmeye yardımcı olur.
close_mosaicint10Eğitim tamamlanmadan önce kararlılığı artırmak için son N turda mozaik veri artırmayı devre dışı bırakır. 0 olarak ayarlanması bu özelliği kapatır.
resumeboolFalseEğitime kaydedilmiş son kontrol noktasından devam eder. Model ağırlıklarını, optimizasyon algoritmasının durumunu ve tur sayısını otomatik yükleyerek eğitimi kesintisiz sürdürür.
ampbool veya strTrueEğitim duyarlığını ayarlar: True veya "fp16" FP16 kullanır, "bf16" desteklenen CUDA aygıtlarında BF16 kullanır, False veya "fp32" ise FP32 kullanır.
quantizeint veya strNoneINT8 nicelik duyarlı eğitim (QAT) için 8 (veya "int8") olarak ayarla. Bu yöntem, ağırlıkların INT8 dışa aktarımını desteklemesi için eğitim döngüsünde sahte nicemleme kullanarak ince ayar yapar. Nicelik Duyarlı Eğitim sayfasına bak.
fractionfloat, int veya list1.0Veri kümesinin alt kümesini oran/sayı veya [train, val, test] listesi olarak belirtir. 1 tüm bölümü ifade eder, 1 üzerindeki tam sayılar görüntü sayısıdır ve yalnızca isteğe bağlı test girdisi yok anlamına gelen 0/0.0 değerlerini kabul eder. İki öğeli listeler test bölümünün tamamını korur.
profileboolFalseModel dağıtımını optimize etmek için kullanışlı olan ONNX ve TensorRT hızlarının eğitim sırasında profillenmesini sağlar.
freezeint veya listNoneModelin ilk N katmanını veya dizine ya da modül adına göre belirli katmanları (23.cv2, baştaki model. olmadan) dondurarak eğitilebilir parametre sayısını azaltır. İnce ayar veya aktarım öğrenimi için kullanışlıdır.
lr0float0.01İlk öğrenme oranı (yani SGD=1E-2, Adam=1E-3). Varsayılan optimizer='auto' altında yok sayılır; kullanmak için bir optimizasyon algoritmasını açıkça belirt.
lrffloat0.01Son öğrenme oranını ilk oranın kesri olarak ayarlar = (lr0 * lrf); zaman içinde öğrenme oranını ayarlamak için zamanlayıcılarla birlikte kullanılır.
momentumfloat0.937SGD için momentum faktörü veya Adam optimizasyon algoritmaları için beta1 değeridir; geçmiş gradyanların mevcut güncellemeye ne ölçüde katılacağını etkiler.
weight_decayfloat0.0005Aşırı öğrenmeyi önlemek için büyük ağırlıkları cezalandıran L2 düzenlileştirme terimi.
warmup_epochsfloat3.0Öğrenme oranı ısınma süresinin tur sayısı. Eğitimin başlangıcında kararlılık sağlamak için öğrenme oranını düşük bir değerden ilk öğrenme oranına kademeli olarak yükseltir.
warmup_momentumfloat0.8Isınma aşamasının başlangıç momentumu; ısınma süresi boyunca ayarlanan momentuma kademeli olarak ulaşır.
warmup_bias_lrfloat0.1Isınma aşamasında bias parametreleri için öğrenme oranı; ilk turlarda model eğitimini kararlı hâle getirmeye yardımcı olur. Varsayılan optimizer='auto' altında otomatik olarak 0.0 değerine ayarlanır; kullanmak için bir optimizasyon algoritmasını açıkça belirt.
distill_modelstrNoneBilgi damıtma için öğretmen modeli kontrol noktası yolu (ör. yolo26x.pt). Ayarlandığında öğrenci modeli, dondurulmuş öğretmenin yönlendirdiği ek bir damıtma kaybıyla eğitilir.
disfloat6.0Standart tespit kayıplarına eklenen damıtma kaybının ağırlığı. Daha yüksek değerler öğretmenin özellik rehberliğinin etkisini artırır.
boxfloat7.5Kayıp fonksiyonundaki kutu kaybı bileşeninin ağırlığı; sınırlayıcı kutu koordinatlarını doğru tahmin etmeye ne kadar önem verileceğini belirler.
clsfloat0.5Toplam kayıp fonksiyonundaki sınıflandırma kaybının ağırlığı; diğer bileşenlere kıyasla doğru sınıf tahmininin önemini etkiler.
cls_pwfloat0.0Ters sınıf sıklığını kullanarak sınıf dengesizliğini ele almak için sınıf ağırlıklandırma kuvveti. 0.0 sınıf ağırlıklandırmasını devre dışı bırakır, 1.0 tam ters sıklık ağırlıklandırması uygular. 0 ile 1 arasındaki değerler kısmi ağırlıklandırma sağlar.
dflfloat1.5Kutu uzaklığı regresyon teriminin ağırlığı: tespit başlığı reg_max > 1 kullanıyorsa dağılım odaklı kayıp (DFL), DFL içermeyen YOLO26'da (reg_max: 1) normalize edilmiş kutu uzaklıkları üzerinde L1 kaybı.
posefloat12.0Poz tahmini için eğitilen modellerde poz kaybının ağırlığı; poz anahtar noktalarının doğru tahmin edilmesine verilen önemi etkiler.
kobjfloat1.0Poz tahmini modellerindeki anahtar nokta nesne olasılığı kaybının ağırlığı; tespit güveniyle poz doğruluğu arasında denge kurar.
rlefloat1.0Poz tahmini modellerindeki artık log-olabilirlik tahmini kaybının ağırlığı; anahtar noktaların konumlandırma hassasiyetini etkiler.
anglefloat1.0OBB modellerindeki açı kaybının ağırlığı; yönlendirilmiş sınırlayıcı kutu açısı tahminlerinin hassasiyetini etkiler.
dlogfloat1.0Derinlik tahmini modellerinde ölçekten bağımsız logaritmik (SILog) kaybın ağırlığı; derinlik doğruluğunu belirleyen temel terimdir.
dgradfloat0.5Derinlik tahmini modellerindeki gradyan kaybının ağırlığı; derinlik kenarlarındaki hataları cezalandırır ve yüzey sınırlarının daha keskin olmasını sağlar.
dlamfloat1.0Derinlik tahmini modellerinde SILog kaybının varyans odaklama faktörü. 1.0, kaybı tamamen ölçekten bağımsız hâle getirirken 0.0 kaybı standart log-RMSE'ye indirger.
nbsint64Kayıp normalizasyonu için nominal yığın boyutu.
overlap_maskboolTrueNesne maskelerinin eğitim için tek bir maskede birleştirilip birleştirilmeyeceğini veya her nesne için ayrı tutulup tutulmayacağını belirler. Maskeler örtüştüğünde birleştirme sırasında küçük maske büyük maskenin üzerine yerleştirilir.
mask_ratioint4Eğitim sırasında kullanılan maskelerin çözünürlüğünü etkileyen segmentasyon maskesi alt örnekleme oranı. Tahmin edilen maskelerin çözünürlüğünü değiştirmez.
dropoutfloat0.0Sınıflandırma görevlerinde düzenlileştirme için kullanılan dropout oranı; eğitim sırasında birimleri rastgele devre dışı bırakarak aşırı öğrenmeyi önler.
valboolTrueEğitim sırasında doğrulamayı etkinleştirerek model performansının ayrı bir veri kümesinde düzenli olarak değerlendirilmesini sağlar.
nmsbool, isteğe bağlıNoneTur doğrulaması, kontrol noktası seçimi ve erken durdurma için kullanılan çıkarım başlığını seçer. None veya True, NMS ile bire-çok başlığını kullanır; False ise kullanılabilir olduğunda NMS içermeyen başlığı kullanır. Her iki başlık da eğitim kayıplarını korur.
plotsboolTrueEğitim ve doğrulama metriklerinin yanı sıra tahmin örneklerinin grafiklerini oluşturup kaydederek model performansı ve öğrenme ilerleyişi hakkında görsel bilgiler sunar.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True → "default", devre dışı bırakmak için False veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa uyarı vererek eager moda geri döner.
channels_lastboolNoneEğitim sırasında evrişimler için channels_last (NHWC) bellek biçimini kullanır. None, daha yavaş olduğu ölçüldüğünden Windows dışında PyTorch 1.11 veya daha yenisiyle CUDA'da bunu otomatik etkinleştirir. False devre dışı bırakır, True ise açıkça etkinleştirilmesini ister. CPU veya MPS üzerinde eğitim her zaman NCHW biçiminde kalır (True uyarıyla yok sayılır).
max_detint300Eğitim doğrulaması sırasında görüntü başına en fazla tespit sayısı. Detect, segment, pose ve OBB için varsayılan 300 değeri, yalnızca eğitim/doğrulama etiketli nesne sayısı 300'ü aştığında bu en yüksek sayıya çıkar. Diğer değerler sabit kalır; sınırın aşılması uyarı oluşturur.
Yığın Boyutu Ayarları Hakkında Not

batch bağımsız değişkeni üç yapılandırma seçeneği sunar:

  • Sabit Yığın Boyutu: Yığın başına görüntü sayısını bir tam sayıyla belirt (ör. batch=16).
  • Otomatik Mod (%60 GPU Belleği): CUDA bellek kullanımını yaklaşık %60'a otomatik ayarlamak için batch=-1 kullan.
  • Kullanım Oranlı Otomatik Mod: Belirtilen GPU bellek kullanımına göre ayarlama yapmak için bir oran belirle (ör. batch=0.70).
  • Uygun Boyut Bulunamadı: Kullanılabilir bir profil sağlayan aday yığın boyutu bulunamazsa AutoBatch, ilgisiz bir varsayılan değere sessizce dönmek yerine anlaşılır bir RuntimeError hatası verir.

Eğitim Kılavuzu

Tahmin Ayarları#

YOLO modellerinin tahmin ayarları, çıkarım sırasında performansı, hızı ve doğruluğu etkileyen hiperparametreleri ve yapılandırmaları içerir. Temel ayarlar arasında güven eşiği, Maksimum Olmayan Bastırma (NMS) eşiği ve sınıf sayısı bulunur. Girdi verisinin boyutu ve biçimi ile maskeler gibi ek özellikler de tahminleri etkiler. En iyi performansı elde etmek için bu ayarları düzenlemek önemlidir.

Çıkarım bağımsız değişkenleri:

Bağımsız değişkenTürVarsayılanAçıklama
sourcestr veya int veya NoneNoneÇıkarım için veri kaynağını belirtir. Görüntü yolu, video dosyası, dizin, URL veya canlı akışlar için aygıt kimliği olabilir. Belirtilmezse günlüğe bir uyarı yazılır ve model yerleşik demo varlıklarına (ultralytics/assets veya OBB için bir demo URL'si) geri döner. Farklı girdi türlerini destekleyerek esnek kullanım sağlar.
conffloat0.25Tespitler için minimum güven eşiğini ayarlar. Bu eşiğin altındaki güven değerleriyle tespit edilen nesneler göz ardı edilir. Bu değeri ayarlamak yanlış pozitifleri azaltmaya yardımcı olabilir.
ioufloat0.7Maksimum Olmayan Bastırma (NMS) için Kesişim/Birleşim (IoU) eşiği. Daha düşük değerler, örtüşen kutuları eleyerek tespit sayısını azaltır; bu da yinelenen tespitleri azaltmak için kullanışlıdır.
imgszint veya tuple640Letterbox hedefi. Bir tam sayı kare N×N, bir demet ise (height, width) verir. rect=True ile minimum dikdörtgen dolgusu nedeniyle gerçek tensör bu hedeften daha küçük olabilir. Sabit boyut için rect=False kullan. Sabit şekil ve minimum dikdörtgen konusuna bak.
rectboolTrueTrue ise mümkün olduğunda minimum dikdörtgen dolgusu kullanılır (aynı şekilli yığın ve desteklenen arka uç). False ise her zaman imgsz tam boyutuna kadar dolgu yapılır. Sabit şekil ve minimum dikdörtgen konusuna bak.
quantizeint veya strNoneÇıkarım duyarlığı: 16/"fp16" ile 32/"fp32"/boş bırakma, PyTorch ve TorchScript modellerinde FP16 veya FP32 hesaplamayı seçer; diğer biçimler, yapıt ve çalışma ortamının seçtiği duyarlıkta hesaplama yapar. 16 değerinde OpenVINO, çalışma ortamının hesaplama duyarlığını değiştirmeden istemcide girdiyi yine FP16'ya yuvarlar ve sonra FP32'ye genişletir. INT8/PTQ nicemlemesi dışa aktarma sırasında yapılandırılır, ardından dışa aktarılan model yüklenerek kullanılır. Kullanımdan kaldırılan half bayrağının yerini alır.
devicestrNoneÇıkarım için aygıtı belirtir (ör. cpu, cuda:0, 0, npu veya npu:0). Modeli çalıştırmak için CPU, belirli bir GPU, Huawei Ascend NPU veya başka hesaplama aygıtları arasından seçim yapmayı sağlar.
dnnboolFalseTrue ise ONNX model çıkarımı için ONNX Runtime yerine OpenCV DNN modülünü kullanır.
datastrNoneBir veri kümesi YAML dosyasının yolu (örn. coco8.yaml); yalnızca names için okunur ve yalnızca yüklenen modelin kendi sınıf adları yoksa kullanılır: üçüncü taraf bir dışa aktarım veya birlikte sunulan meta verilerden ayrılmış bir Ultralytics dışa aktarımı. Aksi takdirde bu tür bir model class0, class1 vb. raporlar.
batchint1Çıkarım için toplu iş boyutunu belirtir (yalnızca kaynak bir dizin, video dosyası veya .txt dosyası olduğunda çalışır). Daha büyük bir toplu iş boyutu, verimi artırarak çıkarım için gereken toplam süreyi kısaltabilir.
max_detint300Görüntü başına izin verilen en yüksek algılama sayısı. Modelin tek bir çıkarımda algılayabileceği toplam nesne sayısını sınırlandırarak yoğun sahnelerde aşırı sayıda çıktı oluşmasını önler.
vid_strideint1Video girdileri için kare adımı. Zamansal çözünürlükten ödün vererek videolardaki kareleri atlamanı ve işlemeyi hızlandırmanı sağlar. 1 değeri her kareyi işler; daha yüksek değerler kare atlar.
stream_bufferboolFalseVideo akışları için gelen karelerin kuyruğa alınıp alınmayacağını belirler. False ise yeni karelere yer açmak için eski kareler düşürülür (gerçek zamanlı uygulamalar için optimize edilmiştir). True ise yeni kareler arabellekte kuyruğa alınır; böylece hiçbir kare atlanmaz, ancak çıkarım FPS'si akış FPS'sinden düşükse gecikme oluşur.
visualizeboolFalseHer tahminin yanına, tahmin edilen sınıf puanlarını hangi piksellerin yükselttiğini gösteren bir sınıf aktivasyon ısı haritası kaydeder. conf ve classes değerlerini dikkate alır; bu nedenle classes=[0] yalnızca o sınıfı eşler. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir.
augmentboolFalseTahminler için test zamanı artırmayı (TTA) etkinleştirir; çıkarım hızından ödün vererek algılama sağlamlığını artırabilir. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir.
agnostic_nmsboolFalseSınıftan bağımsız Maksimum Olmayan Bastırmayı (NMS) etkinleştirir; yalnızca aynı sınıf içindekileri değil, farklı sınıflardaki örtüşen kutular arasında puanı daha düşük olanları da bastırır. Sınıf örtüşmesinin yaygın olduğu çok sınıflı algılama senaryolarında kullanışlıdır. NMS'siz çıkarımda (YOLO26 veya YOLOv10'da nms=False), bu ayar yalnızca aynı algılamanın birden fazla sınıf etiketiyle görünmesini önler (IoU=1.0 yinelenenleri); farklı kutular arasında IoU eşiğine dayalı bastırma yapmaz.
classeslist[int]NoneTahminleri bir sınıf kimliği kümesine göre filtreler. Yalnızca belirtilen sınıflara ait algılamalar döndürülür. Çok sınıflı algılama görevlerinde ilgili nesnelere odaklanmak için kullanışlıdır.
retina_masksboolFalseYüksek çözünürlüklü segmentasyon maskeleri döndürür. Etkinleştirildiğinde döndürülen maskeler (masks.data) özgün görüntü boyutlarıyla eşleşir. Devre dışı bırakıldığında çıkarım sırasında kullanılan görüntü boyutlarında olur.
embedlist[int]NoneÖzellik vektörlerinin veya gömme vektörlerinin çıkarılacağı katmanları belirtir. Son ikinci katmanın gömme vektörleri için model.embed(source) değerini kullan veya belirli katmanları seçmek için model.predict(source, embed=[layer]) değerini belirt. Kümeleme veya benzerlik arama gibi sonraki görevlerde kullanışlıdır. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir.
projectstrNonesave etkinse tahmin çıktılarının kaydedileceği proje dizininin adı.
namestrNoneTahmin çalıştırmasının adı. save etkinse tahmin çıktılarının saklandığı proje klasöründe bir alt dizin oluşturmak için kullanılır.
streamboolFalseTüm kareleri aynı anda belleğe yüklemek yerine bir Results nesneleri üreteci döndürerek uzun videoların veya çok sayıda görüntünün bellek açısından verimli biçimde işlenmesini sağlar.
verboseboolTrueTahmin süreci hakkında gerçek zamanlı geri bildirim sağlayarak terminalde ayrıntılı çıkarım günlüklerinin görüntülenip görüntülenmeyeceğini denetler.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True → "default", devre dışı bırakmak için False veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa uyarı vererek eager moda geri döner.
channels_lastboolNoneYerel PyTorch çıkarımı için channels_last (NHWC) bellek biçimini kullanır. None, PyTorch 1.13 veya daha yeni sürümlerin yüklü olduğu, oneDNN etkin Linux ve Windows x86 CPU'larda bunu otomatik olarak etkinleştirir; False devre dışı bırakır ve True desteklenen x86 CPU veya CUDA cihazlarında kullanılmasını ister. ARM64, MPS, eski PyTorch sürümleri, oneDNN olmayan CPU'lar ve TensorRT ile ONNX gibi dışa aktarılmış biçimler değişmeden kalır.
nmsbool, isteğe bağlıNoneVarsayılan olarak NMS ile bire-çok çıkarım yapar (None veya True). Kullanılabiliyorsa NMS'siz bire-bir başlığı kullanmak için False değerini ayarla. Ayrıntılar için Uçtan Uca Algılama kılavuzuna bak.

Görselleştirme argümanları:

Bağımsız değişkenTürVarsayılanAçıklama
showboolFalseTrue ise açıklama eklenmiş görüntüleri veya videoları bir pencerede gösterir. Geliştirme veya test sırasında anında görsel geri bildirim almak için kullanışlıdır.
saveboolFalse or TrueAçıklama eklenmiş görüntülerin veya videoların dosyalara kaydedilmesini etkinleştirir. Belgeleme, daha ileri analiz veya sonuçları paylaşmak için kullanışlıdır. CLI kullanıldığında varsayılan değer True, Python'da kullanıldığında False olur.
save_framesboolFalseVideolar işlenirken tek tek kareleri görüntü olarak kaydeder. Belirli kareleri çıkarmak veya kare kare ayrıntılı analiz yapmak için kullanışlıdır.
save_txtboolFalseAlgılama sonuçlarını [class] [x_center] [y_center] [width] [height] [confidence] biçimini izleyerek bir metin dosyasına kaydeder. Diğer analiz araçlarıyla entegrasyon için kullanışlıdır.
save_confboolFalseKaydedilen metin dosyalarına güven puanlarını ekler. Son işleme ve analiz için kullanılabilir ayrıntıları artırır.
save_cropboolFalseAlgılamaların kırpılmış görüntülerini kaydeder. Veri kümesi artırma, analiz veya belirli nesnelere yönelik odaklanmış veri kümeleri oluşturma için kullanışlıdır.
show_labelsboolTrueGörsel çıktıda her algılama için etiketleri gösterir. Algılanan nesnelerin hemen anlaşılmasını sağlar.
show_confboolTrueHer algılamanın güven puanını etiketinin yanında gösterir. Modelin her algılamaya ne kadar güvendiğini görmeni sağlar.
show_boxesboolTrueAlgılanan nesnelerin çevresine sınırlayıcı kutular çizer. Görüntülerde veya video karelerinde nesneleri görsel olarak tanımlamak ve konumlarını belirlemek için gereklidir.
line_widthint or NoneNoneSınırlayıcı kutuların çizgi kalınlığını belirtir. None ise çizgi kalınlığı görüntü boyutuna göre otomatik ayarlanır. Netlik için görsel özelleştirme sağlar.

Tahmin Kılavuzu

Doğrulama Ayarları#

YOLO modelleri için doğrulama ayarları, performansı bir doğrulama veri kümesinde değerlendirmeye yönelik hiperparametreleri ve yapılandırmaları içerir. Bu ayarlar performansı, hızı ve doğruluğu etkiler. Yaygın ayarlar arasında toplu iş boyutu, doğrulama sıklığı ve performans metrikleri bulunur. Doğrulama veri kümesinin boyutu ve bileşimi ile belirli görev de süreci etkiler.

Bağımsız değişkenTürVarsayılanAçıklama
datastrNoneVeri kümesi YAML dosyasının yolunu belirtir (örn. coco8.yaml); dosyada doğrulama verilerinin yolu bulunmalıdır. Sınıflandırma için bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı (örn. imagenet10) kullanılır.
imgszint640Girdi görüntülerinin boyutunu tanımlar. İşlemden önce tüm görüntüler bu boyuta getirilir. Daha büyük boyutlar küçük nesnelerde doğruluğu artırabilir, ancak hesaplama süresini uzatır.
batchint16Toplu iş başına görüntü sayısını ayarlar. Daha yüksek değerler GPU belleğini daha verimli kullanır, ancak daha fazla VRAM gerektirir. Kullanılabilir donanım kaynaklarına göre ayarla.
save_jsonboolFalseTrue ise sonuçları daha ileri analiz, diğer araçlarla entegrasyon veya COCO gibi değerlendirme sunucularına gönderim için bir JSON dosyasına kaydeder. Algılama veri kümelerinde ayrıca tahminleri faster-coco-eval ile değerlendirir ve küçük, orta ve büyük nesneler için mAP değerlerini raporlar; eğitim sırasında bu değerler results.csv içindeki metrics/mAP_small(B), metrics/mAP_medium(B) ve metrics/mAP_large(B) olarak günlüğe kaydedilir.
conffloat0.001Algılamalar için minimum güven eşiğini ayarlar. Daha düşük değerler geri çağırmayı artırır, ancak daha fazla yanlış pozitif oluşturabilir. Kesinlik-geri çağırma eğrileri, mAP ve algılama karmaşıklık matrisleri bu değeri kullanır; conf değerinin 0.25 gibi daha yüksek olması, matrisi tahmin çıktısına daha çok yaklaştırır, ancak mAP değerini düşürebilir. Özet kesinlik ve geri çağırma, maksimum F1 güvenini kullanır; bu nedenle confusion_matrix.png değerinden elde edilen değerlerden farklı olabilir. Bellek kullanımını azaltmak için OBB doğrulamasında varsayılan değer 0.01 olur.
ioufloat0.7Maksimum Olmayan Bastırma için Kesişim-Birleşim eşiğini ayarlar. Yinelenen algılamaların elenmesini denetler.
max_detint300Görüntü başına en yüksek algılama sayısını sınırlar. Detect, segment, pose ve OBB görevlerinde bu değer 300 olarak bırakılırsa doğrulanan bölümde bir görüntünün etiketli nesne sayısı bu değeri aştığında, uyarı verilerek sınır en yüksek etiketli nesne sayısına çıkarılır; diğer tüm değerler korunur ve bir görüntü bu değeri aşarsa geri çağırmanın sınırlanabileceğine dair uyarı verilir.
quantizeint veya strNoneDoğrulama hassasiyeti: 16/"fp16" ve 32/"fp32"/ayarlanmamış değerleri, PyTorch ve TorchScript modelleri için FP16 veya FP32 hesaplamayı seçer; diğer biçimler kendi yapıtlarının ve çalışma zamanlarının seçtiği hassasiyette hesaplama yapar. 16 durumunda OpenVINO, istemci tarafında girdiyi yine FP16'ya yuvarlayıp tekrar FP32'ye genişletir; ancak çalışma zamanının hesaplama yaptığı hassasiyeti değiştirmez. INT8/PTQ nicelemesi dışa aktarma sırasında yapılandırılır ve dışa aktarılan model doğrulanırken kullanılır. Kullanımdan kaldırılmış half bayrağının yerine geçer.
devicestrNoneDoğrulama için cihazı belirtir (cpu, cuda:0, npu, npu:0 vb.). None olduğunda kullanılabilir en iyi cihazı otomatik seçer. Birden fazla CUDA cihazı virgülle ayrılarak belirtilebilir.
dnnboolFalseTrue ise ONNX model çıkarımında OpenCV DNN modülünü kullanarak PyTorch çıkarım yöntemlerine alternatif sunar.
plotsboolTrueTrue olarak ayarlandığında, model performansını görsel olarak değerlendirmek için tahminler ile gerçek değerlerin grafiklerini, karmaşıklık matrislerini ve PR eğrilerini oluşturup kaydeder.
classeslist[int]NoneDeğerlendirilecek sınıf kimliklerinin listesini belirtir. Değerlendirme sırasında sınıfları filtreleyerek yalnızca belirli sınıflara odaklanmak için kullanışlıdır.
rectboolTrueTrue ise toplu işleme için dikdörtgen biçimli çıkarım kullanır; dolguyu azaltır ve görüntüleri özgün en-boy oranlarında işleyerek hızı ve verimliliği artırabilir. Her görüntüyü doldurmak yerine sabit imgsz kare boyutuna uzatan depth doğrulamasında yok sayılır.
splitstr'val'Doğrulama için kullanılacak veri kümesi bölümünü belirler (val, test veya train). Performansı değerlendirmek için veri bölümünü seçme esnekliği sağlar.
fractionfloat, int veya list1.0Doğrulanan bölümün alt kümesi. [train, val, test] listesi verildiğinde, split ile eşleşen girdi uygulanır (1 = bölümün tamamı, 1 üzerindeki tam sayılar = görüntü sayıları; belirtilmeyen girdiler bölümün tamamını kullanır). Skaler değer yalnızca split=train için geçerlidir; val ve test bu durumda bölümün tamamını kullanır.
projectstrNoneDoğrulama çıktılarının kaydedileceği proje dizininin adı. Farklı deneylerin veya modellerin sonuçlarını düzenlemeye yardımcı olur.
namestrNoneDoğrulama çalıştırmasının adı. Doğrulama günlüklerinin ve çıktılarının saklandığı proje klasöründe bir alt dizin oluşturmak için kullanılır.
verboseboolTrueTrue ise doğrulama sürecinde sınıf başına metrikler, toplu iş ilerlemesi ve ek hata ayıklama bilgileri dahil ayrıntılı bilgileri gösterir.
save_txtboolFalseTrue ise algılama sonuçlarını, görüntü başına bir dosya olacak şekilde metin dosyalarına kaydeder; bu dosyalar daha ileri analiz, özel son işleme veya diğer sistemlerle entegrasyon için kullanışlıdır.
save_confboolFalseTrue ise save_txt etkin olduğunda kaydedilen metin dosyalarına güven değerlerini ekleyerek analiz ve filtreleme için daha ayrıntılı çıktı sağlar.
workersint8Veri yükleme için çalışan iş parçacığı sayısı. Daha yüksek değerler veri ön işlemeyi hızlandırabilir, ancak CPU kullanımını artırabilir. 0 olarak ayarlandığında ana iş parçacığı kullanılır; bu, bazı ortamlarda daha kararlı olabilir.
augmentboolFalseDoğrulama sırasında test zamanı artırmayı (TTA) etkinleştirir; girdinin dönüştürülmüş sürümlerinde çıkarım yaparak çıkarım hızından ödün verme pahasına algılama doğruluğunu artırabilir. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir.
agnostic_nmsboolFalseSınıftan bağımsız Maksimum Olmayan Bastırmayı etkinleştirir; tahmin edilen sınıfları ne olursa olsun, örtüşen kutular arasında puanı daha düşük olanları bastırır. Örnek odaklı uygulamalarda kullanışlıdır. NMS'siz çıkarımda (YOLO26 veya YOLOv10'da nms=False), bu ayar yalnızca aynı algılamanın birden fazla sınıf etiketiyle görünmesini önler (IoU=1.0 yinelenenleri); farklı kutular arasında IoU eşiğine dayalı bastırma yapmaz.
single_clsboolFalseDoğrulama sırasında tüm sınıfları tek bir sınıf olarak ele alır. İkili algılama görevlerinde veya sınıf ayrımlarının önemli olmadığı durumlarda model performansını değerlendirmek için kullanışlıdır.
visualizeboolFalseHer görüntü için gerçek değerleri, doğru pozitifleri, yanlış pozitifleri ve yanlış negatifleri görselleştirir. Hata ayıklama ve model yorumlama için kullanışlıdır.
show_labelsboolTruevisualize=True olduğunda doğrulama görselleştirmelerinde sınıf etiketlerini gösterir. Eşleşmeleri ve hataları daha sade görüntülemek için False olarak ayarla.
show_confboolTruevisualize=True olduğunda doğrulama görselleştirmelerinde güven puanlarını gösterir. Eşleşmeleri ve hataları daha sade görüntülemek için False olarak ayarla.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True → "default", devre dışı bırakmak için False veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa uyarı vererek eager moda geri döner.
channels_lastboolNoneYerel PyTorch doğrulaması için channels_last (NHWC) bellek biçimini kullanır. None, PyTorch 1.13 veya daha yeni sürümlerin yüklü olduğu, oneDNN etkin Linux ve Windows x86 CPU'larda bunu otomatik olarak etkinleştirir; False devre dışı bırakır ve True desteklenen x86 CPU veya CUDA cihazlarında kullanılmasını ister. ARM64, MPS, eski PyTorch sürümleri, oneDNN olmayan CPU'lar ve dışa aktarılmış biçimler değişmeden kalır; eğitim sırasındaki doğrulama, eğitim modelinin düzenini korur.
nmsbool, isteğe bağlıNoneVarsayılan olarak NMS ile bire-çok çıkarım yapar (None veya True). Kullanılabiliyorsa NMS'siz bire-bir başlığı kullanmak için False değerini ayarla. Ayrıntılar için Uçtan Uca Algılama kılavuzuna bak.

Dikkatli ayarlama ve denemeler, en iyi performansı sağlamak ve aşırı öğrenmeyi tespit edip önlemek için çok önemlidir.

Doğrulama Kılavuzu

Dışa Aktarma Ayarları#

YOLO modellerinin dışa aktarma ayarları, modeli farklı ortamlarda kullanmak üzere kaydetme veya dışa aktarma yapılandırmalarını içerir. Bu ayarlar performansı, boyutu ve uyumluluğu etkiler. Temel ayarlar arasında dışa aktarılan dosya biçimi (örn. ONNX, TensorFlow SavedModel), hedef cihaz (örn. CPU, GPU) ve maskeler gibi özellikler bulunur. Modelin görevi ve hedef ortamın kısıtlamaları da dışa aktarma sürecini etkiler.

Bağımsız değişkenTürVarsayılanAçıklama
formatstr'torchscript'Dışa aktarılan modelin hedef biçimi; örneğin 'onnx', 'torchscript', 'engine' (TensorRT) veya başka biçimler. Her biçim farklı dağıtım ortamlarıyla uyumluluk sağlar.
namestrNoneDonanım hedefi gerektiren biçimler için donanım hedefinin adı: Hailo mimarisi ('hailo8', 'hailo8l', 'hailo10h', 'hailo15h', 'hailo15l'; varsayılan olarak 'hailo8l' kullanılır), Rockchip RKNN yongası (varsayılan olarak 'rk3588' kullanılır), Huawei Ascend SoC (CANN --soc_version; varsayılan olarak 'Ascend310B4' kullanılır), Qualcomm QNN HTP hedefi (varsayılan olarak '73' kullanılır) veya AMD Xilinx Versal AI Edge Series Gen 2 aygıtı (varsayılan olarak 've2-xc2ve3858', VEK385 değerlendirme kiti kullanılır). Diğer modların kullandığı project/name çalıştırma adlandırma çiftinden farklıdır.
imgszint veya tuple640Model girdisi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı (640×640 için 640 gibi) veya belirli boyutlar için (height, width) demeti olabilir. Belirtilmediğinde dışa aktarma, yüklenen kontrol noktasında kayıtlı eğitim boyutunu yeniden kullanır: resmî YOLO26 kontrol noktalarında derinlik için 768, sınıflandırma için 224, OBB için 1024 ve diğer görevler için 640 kayıtlıdır; ince ayar yapılmış modeldeyse eğitim sırasında kullanılan imgsz kaydedilir. YAML'den oluşturulmuş bir modelde kayıtlı eğitim boyutu yoktur ve 640 kullanılır.
optimizeboolFalseDEEPX için daha yüksek derleyici optimizasyonunu etkinleştirir; derleme süresini uzatırken çıkarım gecikmesini azaltır.
quantizeint veya strNoneNicemleme hassasiyeti: 16 (FP16, model boyutunu küçültür ve desteklenen donanımlarda çıkarımı hızlandırabilir) veya 8 (INT8/PTQ, modeli çok az doğruluk kaybıyla daha da sıkıştırır, öncelikle uç cihazlar için kullanılır; kalibrasyon için data/fraction gerekir); 32/ayarlanmamış değer FP32'dir. quantize=8 ile eğitilmiş bir kontrol noktası her zaman INT8 olarak dışa aktarılır: onnx ve engine, kontrol noktasının taşıdığı aralıkları kullanarak kalibrasyon olmadan dışa aktarım yapar; diğer biçimler veya hassasiyetler reddedilir. 'w8a8' ve 'w16a16', 8 ve 16 için takma adlardır; karma hassasiyetler olan 'w8a16' (16 bit aktivasyonlara sahip INT8 ağırlıklar: CoreML, LiteRT, QNN) ve 'w8a32' (dinamik INT8: LiteRT) yalnızca bu biçimlerde kabul edilir. Kullanımdan kaldırılmış half/int8 bayraklarının yerini alır (half=True → 16, int8=True → 8; kullanımdan kaldırma uyarısıyla kabul edilmeye devam eder). Yalnızca hedef biçimin desteklediği hassasiyetlere izin verilir (aşağıya bak).
dynamicboolFalseTorchScript, ONNX, OpenVINO, TensorRT, CoreML ve MNN dışa aktarımlarında dinamik girdi boyutlarına izin vererek değişen görüntü boyutlarını işleme esnekliğini artırır.
simplifyboolTrueONNX grafiği oluşturan dışa aktarımlarda (onnxslim ile) ara ONNX grafiğini basitleştirir (Dışa Aktarma Biçimleri bölümüne bak); çıkarım motorlarıyla performansı ve uyumluluğu artırabilir.
opsetintNoneONNX grafiği oluşturan dışa aktarımlarda ONNX opset sürümünü belirtir (Dışa Aktarma Biçimleri bölümüne bak); farklı ONNX ayrıştırıcıları ve çalışma zamanlarıyla uyumluluk sağlar. Ayarlanmazsa desteklenen en son sürüm kullanılır.
workspacefloat veya NoneNoneTensorRT optimizasyonları için maksimum çalışma alanı boyutunu GiB cinsinden ayarlayarak bellek kullanımı ile performansı dengeler. TensorRT'nin cihazın en yüksek kapasitesine kadar otomatik ayırma yapması için None değerini kullan.
nmsbool, isteğe bağlıNoneNone, harici NMS için ham bire-çok tahminlerini dışa aktarır; True, desteklenen durumlarda NMS'yi modele dahil eder; False, kullanılabiliyorsa NMS'siz başlığı seçer. CoreML'de yerleşik NMS, statik şekillerle detect, segment ve pose görevlerini destekler. Uçtan Uca Algılama kılavuzuna bak.
conffloatNoneDışa aktarma sırasında NMS'nin oluşturulduğu her yerde kullanılan güven eşiği: nms=True dışa aktarımları; Hailo'nun uçtan uca olmayan detect dışa aktarımları; ve içeride nms=True değerini zorunlu kılan IMX detect, pose ve segment dışa aktarımları. Ayarlanmadığında varsayılan değer 0.25 olur.
ioufloat0.7Dışa aktarma sırasında NMS'nin oluşturulduğu her yerde kullanılan IoU eşiği: nms=True dışa aktarımları; Hailo'nun uçtan uca olmayan detect dışa aktarımları; ve içeride nms=True değerini zorunlu kılan IMX detect, pose ve segment dışa aktarımları.
max_detint300Dışa aktarılan modelin çıktısında tutulan en yüksek algılama sayısı. Yerel NMS işlem hattında algılama sınırı olmayan CoreML algılama dışında, her biçimdeki nms=True dışa aktarımları için geçerlidir. Ayrıca NMS'siz uçtan uca algılama dışa aktarımlarında (YOLO26, YOLOv10; kullanılabilir bağlantı noktası sayısıyla sınırlandırılır) ve IMX detect, pose ve segment dışa aktarımlarında da uygulanır.
agnostic_nmsboolFalseCoreML'in kendi NMS aşaması da dahil olmak üzere, standart nms=True işlem hattı üzerinden dışa aktarma sırasında NMS'nin oluşturulduğu her yerde sınıftan bağımsız NMS'yi etkinleştirir; yalnızca aynı sınıf içindekileri değil, farklı sınıflardaki örtüşen kutular arasında puanı daha düşük olanları da bastırır. Sınıftan bağımsız seçeneği olmayan ve bu bayraktan bağımsız olarak sınıf farkındalığını koruyan Hailo veya IMX'in kendi oluşturduğu NMS yapılandırmalarında bu ayar dikkate alınmaz. NMS'siz uçtan uca dışa aktarımlara (YOLO26, YOLOv10) da dahil edilir; bu durumda IoU eşiğine dayalı olarak farklı kutuları bastırmaz, yalnızca aynı algılamanın birden fazla sınıf etiketi altında görünmesini önler (IoU=1.0 yinelenenleri).
batchint1Dışa aktarılan modelin toplu çıkarım boyutunu veya modelin predict modunda eşzamanlı olarak işleyeceği en yüksek görüntü sayısını belirtir. Dışa aktarma bağımsız değişkenlerinde batch bulunmayan biçimler (Edge TPU, IMX500, DEEPX, Hailo, AMD Xilinx) batch 1 olarak dışa aktarılır ve diğer değerleri kabul etmez.
devicestrNoneDışa aktarma için kullanılacak cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silicon için MPS (device=mps), Huawei Ascend NPU (device=npu veya device=npu:0) ya da NVIDIA Jetson için DLA (device=dla:0 veya device=dla:1). TensorRT dışa aktarımları otomatik olarak GPU kullanır; ancak TensorRT 11.0 DLA'yı desteklemez.
verboseboolFalseformat='engine' dışa aktarımı sırasında TensorRT oluşturucu günlüğünün ayrıntı düzeyini VERBOSE olarak yükseltir. Diğer dışa aktarma biçimleri bu ayarı yok sayar.
datastrNoneINT8 niceleme kalibrasyonu için gerekli veri kümesi YAML dosyasının yolu; sınıflandırma için bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı kullanılır. INT8 etkinleştirildiğinde belirtilmemişse Ultralytics, gerektiğinde göreve özgü bir kalibrasyon veri kümesi seçer veya modelin görevi için varsayılan veri kümesini kullanır. quantize=8 ile eğitilmiş bir kontrol noktası kendi INT8 aralıklarını içerir ve kalibrasyon verisi gerektirmez.
splitstr'val'data içinden INT8 niceleme kalibrasyonu veri yükleyicisini oluşturmak için kullanılan veri kümesi bölümü ('train', 'val' veya 'test').
fractionfloat, int veya list1.0INT8 kalibrasyonu için kullanılan veri kümesi alt kümesi: oran, görüntü sayısı veya [train, val, test] değerleri. 1 bölümün tamamı demektir; 1 üzerindeki tam sayılar görüntü sayısıdır ve yalnızca isteğe bağlı test girdisi, hiçbiri anlamına gelen 0/0.0 değerlerini kabul eder. İki öğeli listelerde test bölümün tamamı olarak kalır.

Dikkatlice yapılandırma yapmak, dışa aktarılan modelin kullanım amacına göre optimize edilmesini ve hedef ortamda etkili biçimde çalışmasını sağlar.

Dışa Aktarma Kılavuzu

Çözüm Ayarları#

Ultralytics Solutions yapılandırma ayarları; nesne sayma, ısı haritası oluşturma, antrenman takibi, veri analizi, bölge takibi, kuyruk yönetimi ve bölge tabanlı sayım gibi görevler için modelleri özelleştirme esnekliği sunar. Bu seçenekler, belirli ihtiyaçlara göre doğru ve kullanışlı sonuçlar elde etmek için kolay ayarlamalar yapmanı sağlar.

Bağımsız değişkenTürVarsayılanAçıklama
modelstrNoneUltralytics YOLO model dosyasının yolu.
regionlist veya dictNoneİlgi bölgesini tanımlayan noktalar; (x, y) demetlerinin listesi veya birden fazla bölge için bölge adlarını nokta listelerine eşleyen bir sözlük (yalnızca RegionCounter). None olduğunda, bölge gerektiren çözümler önceden tanımlanmış varsayılan bölgeye döner.
show_inboolTrueVideo akışında giriş sayılarının görüntülenip görüntülenmeyeceğini denetleyen bayrak.
show_outboolTrueVideo akışında çıkış sayılarının görüntülenip görüntülenmeyeceğini denetleyen bayrak.
analytics_typestr'line'Grafik türü; yani line, bar, area veya pie.
colormapintcv2.COLORMAP_DEEPGREENIsı haritasında kullanılacak renk haritası.
line_widthint2Çözümün çizdiği kutular, anahtar noktalar ve sayılar için çizgi kalınlığı.
verboseboolTrueÇözümün her kare için girdi şekli, sınıf sayıları ve işleme hızına ilişkin günlüğünü etkinleştirir. İzleme çağrısının kendisi her zaman sessizdir.
json_filestrNoneTüm park koordinatı verilerini içeren JSON dosyasının yolu.
up_anglefloat145.0'Yukarı' pozu için açı eşiği.
kptslist[int][6, 8, 10]Antrenmanları izlemek için kullanılan üç anahtar nokta indeksinin listesi. Bu anahtar noktalar; şınav, barfiks, squat ve karın egzersizleri gibi hareketlerde omuz, dirsek ve bilek gibi vücut eklemlerine veya bölümlerine karşılık gelir.
down_anglefloat90.0'Aşağı' pozu için açı eşiği.
blur_ratiofloat0.5Bulanıklık yoğunluğu yüzdesini 0.1 - 1.0 aralığındaki değerlere göre ayarlar.
crop_dirstr'cropped-detections'Kırpılmış tespitleri depolamak için kullanılan dizinin adı.
recordsint5Güvenlik alarm sistemiyle e-posta gönderilmesini tetikleyecek toplam tespit sayısı.
vision_pointtuple[int, int](20, 20)VisionEye Solution ile nesnelerin izleneceği ve yolların çizileceği nokta.
sourcestrNoneGirdi kaynağının yolu (video, RTSP vb.). Yalnızca Solutions komut satırı arayüzü (CLI) ile kullanılabilir.
figsizetuple[float, float](12.8, 7.2)Analytics grafikleri için inç cinsinden şekil boyutu; (12.8, 7.2), 1280×720 boyutunda bir kare oluşturur.
fpsfloat30.0Hız hesaplamalarında kullanılan saniyedeki kare sayısı.
max_histint5Hız/yön hesaplamaları için nesne başına izlenecek en fazla geçmiş nokta sayısı.
meter_per_pixelfloat0.05Piksel mesafesini gerçek dünya birimlerine dönüştürmek için kullanılan ölçekleme katsayısı.
max_speedint120km/sa cinsinden en yüksek hız; tahmin edilen daha yüksek hızlar bu değerde sınırlandırılır.
datastr'images'Benzerlik araması için kullanılan görüntü dizininin yolu.
imgszint640Model çıkarımı için girdi görüntüsü boyutu.

Solutions Kılavuzu

Artırma Ayarları#

Veri artırma teknikleri, eğitim verilerine çeşitlilik katarak YOLO modelinin sağlamlığını ve performansını artırmak, modelin daha önce görülmemiş verilere daha iyi genelleme yapmasına yardımcı olmak için gereklidir. Aşağıdaki tabloda her artırma argümanının amacı ve etkisi açıklanmaktadır:

Bağımsız değişkenTürVarsayılanDesteklenen GörevlerAralıkAçıklama
hsv_hfloat0.015detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Görüntünün tonunu renk çemberinin belirli bir kesri kadar ayarlayarak renk çeşitliliği sağlar. Modelin farklı ışık koşullarına genelleme yapmasına yardımcı olur. classify için bu yalnızca auto_augment=None olduğunda uygulanır.
hsv_sfloat0.7detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Görüntünün doygunluğunu belirli bir kesir kadar değiştirerek renklerin yoğunluğunu etkiler. Farklı çevre koşullarını simüle etmek için kullanışlıdır. classify için bu yalnızca auto_augment=None olduğunda uygulanır.
hsv_vfloat0.4detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Modelin çeşitli ışık koşullarında iyi performans göstermesine yardımcı olmak için görüntünün değerini (parlaklığını) belirli bir kesir kadar değiştirir. classify için bu yalnızca auto_augment=None olduğunda uygulanır.
degreesfloat0detect, segment, semantic, depth, pose, obb0.0 - 180Görüntüyü belirtilen derece aralığında rastgele döndürerek modelin nesneleri farklı yönelimlerde tanıma becerisini geliştirir.
translatefloat0.1detect, segment, semantic, depth, pose, obb0.0 - 1.0Kısmen görünen nesneleri tespit etmeyi öğrenmeye yardımcı olmak için görüntüyü görüntü boyutunun belirli bir kesri kadar yatay ve dikey olarak kaydırır.
scalefloat | tuple0.5detect, segment, semantic, depth, classify, pose, obb0 - 1 veya açıkça belirtilen bir (min, max) demeti (classify için değil)Görüntüyü bir kazanç katsayısına göre ölçekleyerek kameraya farklı uzaklıklardaki nesneleri simüle eder.
shearfloat0detect, segment, semantic, depth, pose, obb-180 - +180Nesnelerin farklı açılardan görüntülenme etkisini taklit etmek için görüntüyü belirtilen derece kadar keser.
perspectivefloat0detect, segment, semantic, depth, pose, obb0.0 - 0.001Modelin nesneleri 3B uzayda anlama becerisini geliştirmek için görüntüye rastgele perspektif dönüşümü uygular.
flipudfloat0detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Nesnenin özelliklerini etkilemeden veri çeşitliliğini artırmak için görüntüyü belirtilen olasılıkla baş aşağı çevirir.
fliplrfloat0.5detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Simetrik nesneleri öğrenmek ve veri kümesi çeşitliliğini artırmak için görüntüyü belirtilen olasılıkla soldan sağa çevirir.
bgrfloat0detect, segment, semantic, depth, pose, obb0.0 - 1.0Yanlış kanal sıralamasına karşı sağlamlığı artırmak için görüntü kanallarını belirtilen olasılıkla RGB'den BGR'ye çevirir.
mosaicfloat1detect, segment, semantic, pose, obb0.0 - 1.0Dört eğitim görüntüsünü tek bir görüntüde birleştirerek farklı sahne düzenlerini ve nesne etkileşimlerini simüle eder. Karmaşık sahneleri anlamada son derece etkilidir.
mixupfloat0detect, segment, semantic, pose, obb0.0 - 1.0İki görüntüyü ve bunların etiketlerini harmanlayarak bileşik bir görüntü oluşturur. Etiket gürültüsü ve görsel çeşitlilik ekleyerek modelin genelleme becerisini geliştirir.
cutmixfloat0detect, segment, semantic, pose, obb0.0 - 1.0İki görüntünün bölümlerini birleştirerek ayrı bölgeleri koruyan kısmi bir harmanlama oluşturur. Örtülme durumları oluşturarak modelin sağlamlığını artırır.
copy_pastefloat0segment, semantic, obb0.0 - 1.0Yapıştırılmaya uygun nesnelerin yapıştırılma oranı; flip nesneleri görüntü içinde aynalar, mixup ise bu değeri görüntüler arası uygulama olasılığı olarak da kullanır.
copy_paste_modestrflipsegment, semantic, obb-Kullanılacak copy-paste stratejisini belirtir. Seçenekler arasında 'flip' ve 'mixup' bulunur.
auto_augmentstrrandaugmentclassify-Görsel çeşitlilik yoluyla model performansını artırmak için önceden tanımlanmış bir artırma politikasını ('randaugment', 'autoaugment' veya 'augmix') uygular.
erasingfloat0.4classify0.0 - 1.0Modelin daha az belirgin özelliklere odaklanmasını teşvik etmek için eğitim sırasında görüntünün bazı bölgelerini rastgele siler.
augmentationslistNonedetect, segment, semantic, depth, pose, obb-Gelişmiş veri artırma için özel Albumentations dönüşümleri (yalnızca Python API'si). Özel artırma ihtiyaçları için dönüşüm nesnelerinden oluşan bir liste kabul eder.

Bu ayarları veri kümesi ve görev gereksinimlerine göre düzenle. Farklı değerlerle denemeler yapmak, en iyi model performansını sağlayacak en uygun artırma stratejisini bulmana yardımcı olabilir.

Artırma Kılavuzu

Günlük Kaydı, Kontrol Noktaları ve Grafik Ayarları#

YOLO modeli eğitirken günlük kaydı, kontrol noktaları, grafikler ve dosya yönetimi önemlidir:

  • Günlük kaydı: Modelin ilerleyişini takip et ve sorunları TensorBoard gibi kütüphanelerle veya bir dosyaya yazarak teşhis et.
  • Kontrol noktaları: Eğitime devam etmek veya farklı yapılandırmaları denemek için modeli düzenli aralıklarla kaydet.
  • Grafikler: Matplotlib veya TensorBoard gibi kütüphaneleri kullanarak performansı ve eğitim ilerlemesini görselleştir.
  • Dosya yönetimi: Kolay erişim ve analiz için kontrol noktaları, günlük dosyaları ve grafikler gibi eğitim sırasında oluşturulan dosyaları düzenle.

Bu unsurları etkili bir şekilde yönetmek ilerlemeyi takip etmeye yardımcı olur ve hata ayıklama ile optimizasyonu kolaylaştırır.

Bağımsız değişkenVarsayılanAçıklama
projectNoneEğitim çalıştırmalarının kaydedileceği kök dizini belirtir. Belirtilmezse çalıştırmalar runs/<task> konumuna kaydedilir. Her çalıştırma ayrı bir alt dizine kaydedilir.
nameNoneDeney adını tanımlar. Belirtilmezse YOLO, mod adını kullanır ve üzerine yazmayı önlemek için her çalıştırmada bu adı artırır (ör. train, train-2).
exist_okFalseMevcut bir deney dizininin üzerine yazılıp yazılmayacağını belirler. True üzerine yazmaya izin verir; False ise bunu engeller.
plotsTrueEğitim ve doğrulama grafiklerinin oluşturulmasını ve kaydedilmesini denetler. Performansı görsel olarak takip etmek için kayıp eğrileri, kesinlik-duyarlılık eğrileri ve örnek tahminler gibi grafikleri oluşturmak üzere True olarak ayarla.
saveTrueEğitim kontrol noktalarının ve son model ağırlıklarının kaydedilmesini etkinleştirir. Model durumlarını düzenli olarak kaydetmek ve böylece eğitime devam etmek veya modeli dağıtmak için True olarak ayarla.

Özel Yapılandırma Dosyası#

Argümanların tamamını satır içinde belirtmeden yeniden kullanmak için kaydedilmiş bir YAML dosyası yükle. cfg argümanı, default.yaml değerlerini geçersiz kılar; bununla birlikte belirtilen ek argümanlar yine önceliklidir.

Bağımsız değişkenVarsayılanAçıklama
cfgNoneDeğerleri default.yaml girdilerinin yerine geçen YAML dosyasının yolu. Uygulamalı CLI örneği için Varsayılan Yapılandırma Dosyasını Geçersiz Kılma sayfasına bak.

Sık Sorulan Sorular#

  • Yığın boyutu, öğrenme oranı, momentum ve ağırlık çürümesi gibi hiperparametreleri ayarlayarak performansı artır. Veri artırma ayarlarını düzenle, doğru optimizasyon algoritmasını seç ve erken durdurma ya da karma hassasiyet gibi tekniklerden yararlan. Ayrıntılar için Eğitim Kılavuzu sayfasına bak.

  • Doğruluğu etkileyen temel hiperparametreler şunlardır:

    • Yığın Boyutu (batch): Daha büyük yığınlar eğitimi kararlı hâle getirebilir, ancak daha fazla bellek gerektirir.
    • Öğrenme Oranı (lr0): Daha düşük oranlar ince ayarlar sağlar, ancak yakınsamayı yavaşlatır.
    • Momentum (momentum): Gradyan vektörlerini hızlandırırken salınımları azaltır.
    • Görüntü Boyutu (imgsz): Daha büyük boyutlar doğruluğu artırır, ancak hesaplama yükünü yükseltir.

    Bu değerleri veri kümesine ve donanımına göre ayarla. Daha fazla bilgi için Eğitim Ayarları sayfasına bak.

  • Öğrenme oranı (lr0) kritik öneme sahiptir; SGD için 0.01, Adam optimizasyon algoritması için 0.001 ile başla ve varsayılan auto, lr0 değerini yok saydığı için optimizer değerini açıkça ayarla. Metrikleri izle ve gerektiğinde ayarlamalar yap. Kosinüs öğrenme oranı zamanlayıcılarını (cos_lr) veya ısınma aşamasını (warmup_epochs, warmup_momentum) kullan. Ayrıntılar Eğitim Kılavuzu sayfasında.

  • Varsayılan ayarlar şunlardır:

    • Güven Eşiği (conf=0.25): Tespitler için gereken en düşük güven düzeyi.
    • IoU Eşiği (iou=0.7): Maksimum Olmayan Bastırma (NMS) için kullanılır.
    • Görüntü Boyutu (imgsz=640): Girdi görüntülerini yeniden boyutlandırır.
    • Aygıt (device=None): CPU, CUDA GPU, Apple MPS, Intel XPU (xpu) veya Huawei Ascend NPU (npu) seçer.

    Genel bir bakış için Tahmin Ayarları ve Tahmin Kılavuzu sayfalarına bak.

  • Karma hassasiyet eğitimi (amp=True), FP16 ve FP32 kullanarak bellek kullanımını azaltır ve eğitimi hızlandırır. Modern GPU'larda kullanışlıdır; doğrulukta önemli bir kayıp olmadan daha büyük modellerin kullanılmasına ve hesaplamaların hızlanmasına olanak tanır. Daha fazla bilgi için Eğitim Kılavuzu sayfasına bak.

Yorumlar