Ultralytics YOLO27:

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.



Watch: Mastering Ultralytics YOLO: Configuration

Ultralytics komutları şu söz dizimini 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 olmak üzere çeşitli bilgisayarlı görü görevlerini gerçekleştirebilir:

  • Detect: Nesne algılama, bir görüntü veya videodaki nesneleri tanımlar ve konumlarını belirler.
  • Segment: Örnek bölütleme, bir görüntüyü veya videoyu farklı nesnelere ya da sınıflara karşılık gelen bölgelere ayırır.
  • Semantic segmentation (semantic): Anlamsal bölütleme, yoğun sahne anlayışı için görüntüdeki her piksele bir sınıf etiketi atar.
  • Depth (depth): Monoküler derinlik tahmini, tek bir RGB görüntüsünden piksel başına metre cinsinden derinlik haritası tahmin eder.
  • Classify: Görüntü sınıflandırma, bir giriş görüntüsünün sınıf etiketini tahmin eder.
  • Pose: Poz tahmini, bir görüntü veya videodaki nesneleri tanımlar ve kilit noktalarını tahmin eder.
  • OBB: Yönlendirilmiş sınırlayıcı kutular, uydu veya tıbbi görüntüler için uygun olan 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 algılama için detect, örnek bölütleme için segment, anlamsal bölütleme için semantic, monoküler 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 uyarlanmış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ümesi üzerinde eğitir.
  • Val: Eğitilmiş bir YOLO modelini doğrular.
  • Predict: Yeni görüntüler veya videolar üzerinde tahminler yapmak için eğitilmiş bir YOLO modeli kullanır.
  • Export: Dağıtım için bir YOLO modelini dışa aktarır.
  • Track: Bir YOLO modeli kullanarak nesneleri gerçek zamanlı olarak takip eder.
  • Benchmark: YOLO dışa aktarımlarının (ONNX, TensorRT vb.) hızını ve doğruluğunu kıyaslar.
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 modelleri için 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 toplu iş boyutu, öğrenme oranı, momentum ve ağırlık çürümesi bulunur. İyileştirici, kayıp işlevi ve veri kümesi bileşiminin seçimi de eğitimi etkiler. En iyi performans için ayarlama ve denemeler kritik öneme sahiptir. Daha fazla ayrıntı için Ultralytics giriş noktası işlevine bakabilirsin.

Bağımsız değişkenTürVarsayılanAçıklama
modelstrNoneEğitim için model dosyasını belirtir. Bir .pt önceden eğitilmiş modeline 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 epoch sayısı. Her epoch, veri kümesinin tamamı üzerinde tam bir geçişi temsil 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ürenin ardından otomatik olarak durmasını sağlar. Süreyle kısıtlı eğitim senaryolarında kullanışlıdır.
patienceint100Eğitimi erken durdurmadan önce doğrulama metriklerinde iyileşme olmadan beklenecek epoch sayısı. Performans yatay seyrettiğinde eğitimi durdurarak aşırı öğrenmeyi önlemeye yardımcı olur.
batchint veya float16Toplu iş boyutu için üç mod vardır: tamsayı olarak ayarlama (ör. batch=16), GPU belleğinin %60'ının kullanılacağı otomatik mod (batch=-1) veya belirtilen kullanım oranına sahip otomatik mod (batch=0.70).
imgszint640Eğitim için hedef görüntü boyutu. Görüntüler, belirtilen değere eşit kenarlara sahip karelere yeniden boyutlandırılır (rect=False ise); YOLO modellerinde en-boy oranı korunur, ancak 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 etkinleştirir. Eğitimi sürdürmek veya model dağıtımı için kullanışlıdır.
save_periodint-1Model kontrol noktalarının epoch cinsinden belirtilen kaydetme sıklığı. -1 değeri bu özelliği devre dışı bırakır. Uzun eğitim oturumları sırasında ara modelleri kaydetmek için kullanışlıdır.
cacheboolFalseVeri kümesi görüntülerinin bellekte (True/ram), diskte (disk) önbelleğe alınmasını etkinleştirir veya önbelleğe almayı devre dışı bırakır (False). Artan bellek kullanımı karşılığında disk G/Ç'sini azaltarak eğitim hızını artırır.
deviceint veya str veya listNoneEğitim için hesaplama cihazları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), boşta olan GPU'nun otomatik seçimi (device=-1) veya boşta olan birden fazla GPU'nun otomatik seçimi (device=[-1,-1]).
workersint8Veri yükleme için iş parçacığı sayısı (Multi-GPU eğitiminde her RANK başına). Veri ön işleme ve verilerin modele aktarılma 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ı deneylerin düzenli biçimde depolanmasını sağlar.
namestrNoneEğitim çalışmasının adı. Eğitim günlüklerinin ve çıktılarının depolandığı proje klasörü içinde bir alt dizin oluşturmak için kullanılır.
exist_okboolFalseTrue ise mevcut bir proje/ad dizininin üzerine yazılmasına izin verir. Önceki çıktıları manuel olarak temizlemeye gerek kalmadan yinelemeli denemeler yapmak için kullanışlıdır.
save_dirstrNoneÇalışma çıktılarının kaydedileceği tam dizini belirtir ve project/name birleşimini geçersiz kılar. Yol, otomatik olarak artırılmadan olduğu gibi kullanılır; bu nedenle ardışık çalışmalar aynı dizini yeniden kullanır.
pretrainedbool veya strTrueEğitime önceden eğitilmiş ağırlıklarla başlanıp başlanmayacağını belirler. Boolean bir değer veya yüklenecek ağırlıklara giden dize biçiminde bir yol olabilir. pretrained=False, model mimarisini korurken rastgele başlatılmış ağırlıklarla eğitim yapar.
cls_remapboolTrueVeri kümeleri arasında ince ayar yapılırken, sınıf adlarının eşleştiği yerlerde önceden eğitilmiş sınıflandırma başlığı satırlarını yeni modele kopyalar; böylece örtüşen sınıflar öğrendikleri yanlılığı, başlık genişliği değişmemişse ağırlıklarıyla birlikte korur. Sınıf sayıları farklı olsa da aynı olsa da, sınıf sırası farklı olduğunda da uygulanır.
optimizerstr'auto'Eğitim için iyileştirici seçimi. Seçenekler arasında, eğitim yineleme sayısından AdamW veya MuSGD seçmek için kullanılan SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp veya auto bulunur. Yakınsama hızını ve kararlılığını etkiler.
seedint0Eğitim için rastgele tohum değerini ayarlar ve aynı yapılandırmalarla yapılan çalışmalar arasında sonuçların yeniden üretilebilir olmasını sağlar.
deterministicboolTrueDeterministik algoritmaların kullanılmasını zorunlu kılar; ancak deterministik olmayan algoritmalara getirilen kısıtlama nedeniyle yeniden üretilebilirliği sağlarken performansı ve hızı etkileyebilir.
verboseboolTrueEğitim sırasında ayrıntılı çıktıyı etkinleştirir; ilerleme çubuklarını, epoch başına 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örevleri veya sınıflandırmadan çok nesne varlığına odaklanılan durumlar için 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ı filtrelemek ve yalnızca bunlara odaklanmak için kullanışlıdır.
rectboolFalseMinimum dolgulu stratejiyi etkinleştirir; bir toplu iş içindeki görüntüler, en uzun kenar imgsz değerine eşit olacak şekilde ortak bir boyuta ulaşmak için minimum düzeyde doldurulur. Verimliliği ve hızı artırabilir, ancak model doğruluğunu etkileyebilir.
multi_scalefloat0.0Her toplu işte imgsz değerini +/- multi_scale oranında rastgele değiştirir (ör. 0.25 -> 0.75x ile 1.25x arasında) ve değeri model stride 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ı epoch'lar boyunca kosinüs eğrisini izleyerek ayarlar. Daha iyi yakınsama için öğrenme oranını yönetmeye yardımcı olur.
close_mosaicint10Tamamlanmadan önce eğitimi kararlı hâle getirmek için son N epoch'ta mozaik veri artırmayı devre dışı bırakır. 0 olarak ayarlanması bu özelliği devre dışı bırakır.
resumeboolFalseEğitimi son kaydedilen kontrol noktasından sürdürür. Model ağırlıklarını, iyileştirici durumunu ve epoch sayısını otomatik olarak yükleyerek eğitime kesintisiz devam eder.
ampbool veya strTrueEğitim hassasiyetini ayarlar: True veya "fp16" FP16 kullanır, "bf16" desteklenen CUDA cihazlarında BF16 kullanır ve False veya "fp32" FP32 kullanır.
quantizeint veya strNoneAğırlıkların INT8 dışa aktarımına tolerans göstermesini sağlamak için döngüde sahte nicemleme ile ince ayar yapan INT8 nicemleme farkındalıklı eğitim (QAT) için 8 (veya "int8") olarak ayarla. Bakınız: Quantization-Aware Training.
fractionfloat, int veya list1.0Veri kümesi alt kümesini oran/sayı veya [train, val, test] listesi olarak belirtir. 1 tam bölümü, 1 üzerindeki tamsayılar görüntü sayılarını ifade eder ve yalnızca isteğe bağlı test girdisi, hiçbiri anlamında 0/0.0 değerlerini kabul eder. İki öğeli listeler testi tam olarak korur.
profileboolFalseEğitim sırasında ONNX ve TensorRT hızlarının profilini çıkarmayı etkinleştirir; model dağıtımını optimize etmek için kullanışlıdır.
freezeint veya listNoneModelin ilk N katmanını veya dizin ya da modül adına göre belirli katmanları (23.cv2, başındaki model. olmadan) dondurarak eğitilebilir parametre sayısını azaltır. İnce ayar veya aktarım öğrenmesi için kullanışlıdır.
lr0float0.01Başlangıç öğrenme oranı (yani SGD=1E-2, Adam=1E-3). Bu değerin ayarlanması optimizasyon süreci için kritik öneme sahiptir ve model ağırlıklarının ne kadar hızlı güncelleneceğini etkiler.
lrffloat0.01Başlangıç oranının kesri olarak nihai öğrenme oranı = (lr0 * lrf); öğrenme oranını zaman içinde ayarlamak için zamanlayıcılarla birlikte kullanılır.
momentumfloat0.937SGD için momentum faktörü veya Adam iyileştiricileri için beta1; geçmiş gradyanların mevcut güncellemeye ne ölçüde katılacağını etkiler.
weight_decayfloat0.0005Büyük ağırlıkları cezalandırarak aşırı öğrenmeyi önleyen L2 düzenlileştirme terimi.
warmup_epochsfloat3.0Öğrenme oranı ısınması için epoch sayısı; eğitimin erken aşamasını kararlı hâle getirmek üzere öğrenme oranını düşük bir değerden başlangıç öğrenme oranına kademeli olarak yükseltir.
warmup_momentumfloat0.8Isınma aşaması için başlangıç momentumu; ısınma dönemi boyunca ayarlanan momentuma kademeli olarak uyum sağlar.
warmup_bias_lrfloat0.1Isınma aşamasında bias parametreleri için öğrenme oranı; ilk epoch'larda model eğitimini kararlı hâle getirmeye yardımcı olur. Varsayılan optimizer='auto' altında otomatik olarak 0.0 değerine ayarlanır; bu nedenle bunu kullanmak için bir iyileştiriciyi açıkça adlandırmalısın.
distill_modelstrNoneBilgi damıtma için öğretmen model kontrol noktasına (ör. yolo26x.pt) giden yol. Ayarlandığında öğrenci model, dondurulmuş öğretmen tarafından yönlendirilen ek bir damıtma kaybıyla eğitilir.
disfloat6.0Standart algılama 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 işlevindeki kutu kaybı bileşeninin ağırlığı; sınırlayıcı kutu koordinatlarının doğru tahmin edilmesine verilen önemi etkiler.
clsfloat0.5Toplam kayıp işlevindeki 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 üssü. 0.0 sınıf ağırlıklandırmayı 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 mesafesi regresyon teriminin ağırlığı: algılama başlığı reg_max > 1 kullanıyorsa dağılımsal odak kaybı (DFL), DFL içermeyen YOLO26'da (reg_max: 1) normalleştirilmiş kutu mesafelerinde L1 kaybı.
posefloat12.0Poz tahmini için eğitilen modellerde poz kaybının ağırlığı; poz kilit noktalarının doğru tahmin edilmesine verilen önemi etkiler.
kobjfloat1.0Poz tahmini modellerinde kilit noktası nesne varlığı kaybının ağırlığı; algılama güveni ile poz doğruluğunu dengeler.
rlefloat1.0Poz tahmini modellerinde artık log-olabilirlik tahmini kaybının ağırlığı; kilit noktalarının konumlandırma hassasiyetini etkiler.
anglefloat1.0obb modellerinde 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 yönlendiren birincil terimdir.
dgradfloat0.5Derinlik tahmini modellerinde gradyan kaybının ağırlığı; derinlik kenarlarındaki hataları cezalandırır ve daha keskin yüzey sınırlarını teşvik eder.
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 değeri bunu basit log-RMSE'ye indirger.
nbsint64Kayıp normalleştirmesi için nominal toplu iş 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. Örtüşme durumunda 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 maskeleri için alt örnekleme oranı.
dropoutfloat0.0Sınıflandırma görevlerinde düzenlileştirme için dropout oranı; eğitim sırasında birimleri rastgele çıkararak aşırı öğrenmeyi önler.
valboolTrueEğitim sırasında doğrulamayı etkinleştirir ve model performansının ayrı bir veri kümesi üzerinde periyodik olarak değerlendirilmesini sağlar.
nmsbool, isteğe bağlıNoneEpoch 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 (one-to-many) kullanır; False, mevcut 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 kaydeder; model performansı ve öğrenme ilerlemesi hakkında görsel içgörüler sunar.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True"default", False → devre dışı veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa bir uyarıyla eager moda geri döner.
channels_lastboolNoneEğitim sırasında konvolüsyonlar için channels_last (NHWC) bellek biçimini kullanır. None, daha yavaş ölçüldüğü Windows haricinde, CUDA üzerinde PyTorch 1.11 veya newer ile bunu otomatik olarak etkinleştirir. False bunu devre dışı bırakır ve True açıkça bunu talep eder. PyTorch 1.10 ve older, CPU ve MPS varsayılan olarak NCHW kalır.
max_detint300Eğitim doğrulaması sırasında görsel başına maksimum algılama sayısı. detect, segment, pose ve OBB için, varsayılan 300 değeri, yalnızca etiketlenmiş nesne sayısı 300'ü aştığında en büyük train/val etiketli nesne sayısına çıkarılır. Diğer değerler sabit kalır; limiti aşmak bir uyarı tetikler.
Toplu İş Boyutu Ayarları Hakkında Not

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

  • Sabit Toplu İş Boyutu: Toplu iş başına görüntü sayısını bir tamsayıyla belirtir (ör. batch=16).
  • Otomatik Mod (%60 GPU Belleği): CUDA belleği kullanımını yaklaşık %60'a otomatik olarak ayarlamak için batch=-1 kullanılır.
  • Kullanım Oranına Sahip Otomatik Mod: Belirtilen GPU belleği kullanımına göre ayarlamak için bir oran belirlenir (ör. batch=0.70).
  • Uygun Değer Bulunamadı: Hiçbir aday toplu iş boyutu kullanılabilir bir profil oluşturmazsa AutoBatch, ilgisiz bir varsayılana sessizce geri dönmek yerine açık bir RuntimeError hatası oluşturur.

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. Giriş verilerinin boyutu, biçimi ve maskeler gibi ek özellikler de tahminleri etkiler. En iyi performans için bu ayarların ayarlanması gerekir.

Çı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 cihaz kimliği olabilir. Belirtilmezse bir uyarı günlüğe kaydedilir ve model yerleşik demo varlıklarına (ultralytics/assets veya OBB için bir demo URL'si) geri döner. Çok çeşitli biçimleri ve kaynakları destekleyerek farklı giriş türleri arasında esnek uygulama olanağı sağlar.
conffloat0.25Algılamalar için minimum güven eşiğini belirler. Bu eşikten daha düşük güvenle algılanan nesneler göz ardı edilir. Bu değeri ayarlamak yanlış pozitifleri azaltmaya yardımcı olabilir.
ioufloat0.7Birleşim Üzerindeki Kesişim (IoU), Maksimum Olmayan Bastırma (NMS) için kullanılan eşiktir. Daha düşük değerler, çakışan kutuları ortadan kaldırarak daha az algılama sonucu üretir; bu, yinelenen sonuçları azaltmak için kullanışlıdır.
imgszint veya tuple640Letterbox hedefi. Bir tamsayı kare bir N×N verir; 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. Ayrıntılar için Sabit şekil ve minimum dikdörtgen bölümüne bak.
rectboolTrueTrue ise mümkün olduğunda minimum dikdörtgen dolgusu kullanılır (aynı şekilli batch ve desteklenen backend). False ise her zaman tam imgsz boyutuna doldurulur. Ayrıntılar için Sabit şekil ve minimum dikdörtgen bölümüne bak.
quantizeint veya strNoneÇıkarım hassasiyeti: 16/"fp16" ve 32/"fp32"/ayarlanmamış, PyTorch ve TorchScript modelleri için FP16 veya FP32 hesaplamasını seçer; diğer formatlar, yapılarının ve çalışma zamanlarının seçtiği hassasiyette hesaplama yapar. 16 seviyesinde OpenVINO, çalışma zamanının hesaplama yaptığı yeri değiştirmeden, girdiyi istemci tarafında hâlâ FP16 olarak yuvarlar ve tekrar FP32'ye genişletir. INT8/PTQ nicelemesi, export sırasında yapılandırılır ve ardından dışarı 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 cihazı belirtir (ör. cpu, cuda:0, 0, npu veya npu:0). Kullanıcıların model yürütme işlemi için CPU, belirli bir GPU, Huawei Ascend NPU veya diğer hesaplama cihazları arasında seçim yapmasını sağlar.
dnnboolFalseTrue ise ONNX modeli çıkarımı için ONNX Runtime yerine OpenCV DNN modülünü kullanır.
datastrNoneYalnızca names değeri için okunan ve yalnızca yüklenen model kendi sınıf adlarını içermediğinde kullanılan veri kümesi YAML dosyasının yolu (ör. coco8.yaml): üçüncü taraf bir dışa aktarma veya içerdiği meta verilerden ayrılmış bir Ultralytics dışa aktarması. Böyle bir model aksi takdirde class0, class1 ve benzeri değerleri bildirir.
batchint1Çıkarım için yığın boyutunu belirtir (yalnızca kaynak bir dizin, video dosyası veya .txt dosyası olduğunda çalışır). Daha büyük bir yığın boyutu, daha yüksek aktarım hızı sağlayarak çıkarım için gereken toplam süreyi kısaltabilir.
max_detint300Görüntü başına izin verilen maksimum 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ı çıktı oluşmasını önler.
vid_strideint1Video girdileri için kare adımı. Zamansal çözünürlük pahasına videolardaki kareleri atlayarak işlemeyi hızlandırır. 1 değeri her karenin işlenmesini sağlar, daha yüksek değerler kareleri 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 atılır (gerçek zamanlı uygulamalar için optimize edilmiştir). True ise yeni kareleri arabellekte kuyruğa alır ve hiçbir karenin atlanmamasını sağlar; ancak çıkarım FPS'i akış FPS'inden düşükse gecikmeye neden olur.
visualizeboolFalseHer tahminin yanına, tahmin edilen sınıf skorlarını hangi piksellerin yükselttiğini gösteren bir sınıf aktivasyon ısı haritası kaydeder. conf ve classes değerlerine uyar; 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ı pahasına algılama sağlamlığını artırabilir. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir.
agnostic_nmsboolFalseSınıftan bağımsız NMS'yi (Non-Maximum Suppression) etkinleştirir; bu, yalnızca aynı sınıf içinde değil, farklı sınıflar arasında da daha düşük puanlı çakışan kutuları bastırır. Sınıf çakışmasının yaygın olduğu çok sınıflı algılama senaryolarında yararlıdır. NMS içermeyen çıkarımla (nms=False YOLO26 veya YOLOv10 üzerinde), bu yalnızca aynı algılamanın birden fazla sınıf etiketiyle görünmesini engeller (IoU=1.0 kopyaları) ve farklı kutular arasında IoU eşiğine dayalı bastırma gerçekleştirmez.
classeslist[int]NoneTahminleri bir sınıf kimlikleri 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 maskelerini döndürür. Etkinleştirilirse döndürülen maskeler (masks.data) özgün görüntü boyutuyla eşleşir. Devre dışı bırakılırsa çıkarım sırasında kullanılan görüntü boyutuna sahip olurlar.
embedlist[int]NoneÖzellik vektörlerinin veya gömme vektörlerinin çıkarılacağı katmanları belirtir. İkinci son katmanın gömme vektörleri için model.embed(source) değerini veya belirli katmanları seçmek için model.predict(source, embed=[layer]) değerini kullan. Kümeleme ya da benzerlik araması gibi sonraki işlemler için kullanışlıdır. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir.
projectstrNonesave etkinleştirilmişse tahmin çıktılarının kaydedildiği proje dizininin adı.
namestrNoneTahmin çalıştırmasının adı. Tahmin çıktılarının save etkinleştirilmişse depolandığı proje klasörü içinde 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 işlenmesini sağlar.
verboseboolTrueTerminalde ayrıntılı çıkarım günlüklerinin görüntülenip görüntülenmeyeceğini denetler ve tahmin süreci hakkında gerçek zamanlı geri bildirim sağlar.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True"default", False → devre dışı veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa bir uyarıyla 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ümlerle oneDNN etkin Linux ve Windows x86 CPU'larında bunu otomatik olarak etkinleştirir; False devre dışı bırakır; True ise desteklenen x86 CPU veya CUDA cihazlarında kullanılmasını ister. ARM64, MPS, eski PyTorch sürümleri, oneDNN içermeyen CPU'lar ve TensorRT ile ONNX gibi dışa aktarılan biçimler değişmeden kalır.
nmsbool, isteğe bağlıNoneVarsayılan olarak NMS ile bire-çok çıkarım çalıştırır (None veya True). Mevcut olduğunda NMS içermeyen bire-bir başlığı kullanmak için False değerini ayarla. Ayrıntılar için Uçtan Uca Algılama kılavuzuna göz at.

Görselleştirme bağımsız değişkenleri:

Bağımsız değişkenTürVarsayılanAçıklama
showboolFalseTrue olduğunda açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim almak için kullanışlıdır.
saveboolFalse or TrueEk açıklamalı görüntülerin veya videoların dosyalara kaydedilmesini etkinleştirir. Belgeleme, daha ileri analiz veya sonuçları paylaşma için kullanışlıdır. CLI kullanılırken varsayılan değer True, Python kullanılırken False'tur.
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 skorlarını ekler. Sonraki işleme ve analiz için kullanılabilen 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 odaklanan veri kümeleri oluşturma için kullanışlıdır.
show_labelsboolTrueGörsel çıktıda her algılama için etiketleri görüntüler. Algılanan nesnelerin hemen anlaşılmasını sağlar.
show_confboolTrueHer algılamanın güven skorunu etiketin yanında görüntüler. Modelin her algılamaya ilişkin kesinliği hakkında fikir verir.
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 konumlandırmak için gereklidir.
line_widthint or NoneNoneSınırlayıcı kutuların çizgi genişliğini belirtir. None ise çizgi genişliği görüntü boyutuna göre otomatik olarak 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ümesi üzerinde değerlendirmek üzere hiperparametreleri ve yapılandırmaları içerir. Bu ayarlar performansı, hızı ve doğruluğu etkiler. Yaygın ayarlar arasında batch boyutu, doğrulama sıklığı ve performans ölçütleri 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
datastrNoneDoğrulama verilerinin yolunu içermesi gereken veri kümesi YAML dosyasının yolunu belirtir (ör. coco8.yaml). Sınıflandırma ise bir veri kümesi dizini veya yerleşik veri kümesi adı alır (ör. imagenet10).
imgszint640Giriş görüntülerinin boyutunu belirler. İşlenmeden önce tüm görüntüler bu boyuta yeniden boyutlandırılır. Daha büyük boyutlar küçük nesneler için 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_jsonboolFalseEğer True ise, sonuçları ileri düzey analiz, diğer araçlarla entegrasyon veya COCO gibi değerlendirme sunucularına gönderim için bir JSON dosyasına kaydeder. Tespit veri setlerinde ayrıca tahminleri faster-coco-eval ile değerlendirir ve eğitim sırasında metrics/mAP_small(B), metrics/mAP_medium(B) ve metrics/mAP_large(B) olarak results.csv içinde kaydedilen küçük, orta ve büyük nesne mAP değerlerini raporlar.
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 varsayılan olarak 0.001 kullanır; algılama karmaşıklık matrisleri açıkça belirtilen conf değerini veya belirtilmediğinde 0.25 değerini kullanır. Özet kesinlik ve geri çağırma, maksimum F1 güven değerini kullanır; bu nedenle confusion_matrix.png değerinden türetilen 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 Oranı eşiğini ayarlar. Yinelenen algılamaların elenmesini kontrol eder.
max_detint300Görsel başına maksimum algılama sayısını sınınrlar. detect, segment, pose ve OBB için, 300 olarak bırakıldığında, bir görsel bu değeri aştığında doğrulanmış bölmedeki en büyük etiketli nesne sayısına yükseltilir ve bir uyarı verilir; diğer tüm değerler korunur ve bir görsel bu değeri aştığında geri çağrının (recall) sınırlandırılabileceğine dair bir uyarı verilir.
quantizeint veya strNoneDoğrulama hassasiyeti: 16/"fp16" ve 32/"fp32"/ayarlanmamış, PyTorch ve TorchScript modelleri için FP16 veya FP32 hesaplamasını seçer; diğer formatlar, yapılarının ve çalışma zamanlarının seçtiği hassasiyette hesaplama yapar. 16 seviyesinde OpenVINO, çalışma zamanının hesaplama yaptığı yeri değiştirmeden, girdiyi istemci tarafında hâlâ FP16 olarak yuvarlar ve tekrar FP32'ye genişletir. INT8/PTQ nicelemesi, export sırasında yapılandırılır ve ardından dışarı aktarılan model doğrulanarak kullanılır. Kullanımdan kaldırılan half bayrağının yerini alır.
devicestrNoneDoğrulama için cihazı belirtir (cpu, cuda:0, npu, npu:0 vb.). None olduğunda kullanılabilir en iyi cihazı otomatik olarak seçer. Birden fazla CUDA cihazı virgülle ayrılarak belirtilebilir.
dnnboolFalseTrue ise ONNX model çıkarımı için OpenCV DNN modülünü kullanır ve PyTorch çıkarım yöntemlerine alternatif sunar.
plotsboolTrueTrue olarak ayarlandığında model performansını görsel olarak değerlendirmek için tahminlerle gerçek değerleri, karmaşıklık matrislerini ve PR eğrilerini gösteren grafikler oluşturur ve kaydeder.
classeslist[int]NoneDeğerlendirilecek sınıf kimliklerinin listesini belirtir. Değerlendirme sırasında belirli sınıfları filtrelemek ve yalnızca bunlara odaklanmak için kullanışlıdır.
rectboolTrueTrue ise toplu işleme için dikdörtgen çı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 bir imgsz karesine gerdiği için depth doğrulamasında yok sayılır.
splitstr'val'Doğrulamada kullanılacak veri kümesi bölümünü belirler (val, test veya train). Performans değerlendirmesi için veri bölümünü seçme esnekliği sağlar.
fractionfloat, int veya list1.0Doğrulanmış veri kümesi bölümünün bir alt kümesi. Bir [train, val, test] listesi ile split ile eşleşen girdi geçerli olur (1 = tam bölüm, 1 üzerindeki tamsayılar = görüntü sayıları; atlanan girdiler tamdır). Bir skaler yalnızca split=train ile geçerli olur; val ve test daha sonra tam bölümü kullanır.
projectstrNoneDoğrulama çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerden veya modellerden elde edilen sonuçları düzenlemeye yardımcı olur.
namestrNoneDoğrulama çalıştırmasının adı. Doğrulama günlüklerinin ve çıktılarının depolandığı proje klasörü içinde bir alt dizin oluşturmak için kullanılır.
verboseboolTrueTrue ise sınıf başına metrikler, toplu iş ilerlemesi ve ek hata ayıklama bilgileri dahil olmak üzere doğrulama süreci sırasında ayrıntılı bilgileri görüntüler.
save_txtboolFalseTrue ise algılama sonuçlarını, görüntü başına bir dosya olacak şekilde metin dosyalarına kaydeder; bu, daha ileri analiz, özel son işleme veya diğer sistemlerle entegrasyon için kullanışlıdır.
save_confboolFalseTrue ise ve save_txt etkinse, kaydedilen metin dosyalarına güven değerlerini dahil ederek 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şleme hızını artırabilir ancak CPU kullanımını yükseltebilir. 0 olarak ayarlanması, bazı ortamlarda daha kararlı olabilen ana iş parçacığını kullanır.
augmentboolFalseDoğrulama sırasında test zamanı artırmayı (TTA) etkinleştirir; girdinin dönüştürülmüş sürümleri üzerinde çıkarım çalıştırarak çıkarım hızı karşılığında algılama doğruluğunu potansiyel olarak artırır. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir.
agnostic_nmsboolFalseSınıftan bağımsız Non-Maximum Suppression özelliğini etkinleştirir; bu, tahmin edilen sınıflarına bakılmaksızın daha düşük puanlı çakışan kutuları bastırır. Örnek odaklı uygulamalar için yararlıdır. NMS içermeyen çıkarımla (nms=False YOLO26 veya YOLOv10 üzerinde), bu yalnızca aynı algılamanın birden fazla sınıf etiketiyle görünmesini engeller (IoU=1.0 kopyaları) ve farklı kutular arasında IoU eşiğine dayalı bastırma gerçekleştirmez.
single_clsboolFalseDoğrulama sırasında tüm sınıfları tek bir sınıf olarak ele alır. Model performansını ikili algılama görevlerinde değerlendirmek veya sınıf ayrımlarının önemli olmadığı durumlarda 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örüntüler. Eşleşmelerin ve hataların daha sade görünmesi için False olarak ayarla.
show_confboolTruevisualize=True olduğunda doğrulama görselleştirmelerinde güven skorlarını görüntüler. Eşleşmelerin ve hataların daha sade görünmesi için False olarak ayarla.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True"default", False → devre dışı veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa bir uyarıyla 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ümle oneDNN etkinleştirilmiş 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 içermeyen CPU'lar ve dışa aktarılan biçimler değişmeden kalır; eğitim sırasındaki doğrulama, eğitim modeli düzenini korur.
nmsbool, isteğe bağlıNoneVarsayılan olarak NMS ile bire-çok çıkarım çalıştırır (None veya True). Mevcut olduğunda NMS içermeyen bire-bir başlığı kullanmak için False değerini ayarla. Ayrıntılar için Uçtan Uca Algılama kılavuzuna göz at.

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

Doğrulama Kılavuzu

Dışa Aktarma Ayarları#

YOLO modelleri için dışa aktarma ayarları, modelin farklı ortamlarda kullanılmak üzere kaydedilmesine veya dışa aktarılmasına ilişkin yapılandırmaları içerir. Bu ayarlar performansı, boyutu ve uyumluluğu etkiler. Önemli ayarlar arasında dışa aktarılan dosya biçimi (ör. ONNX, TensorFlow SavedModel), hedef cihaz (ör. 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 model için 'onnx', 'torchscript', 'engine' (TensorRT) veya diğerleri gibi hedef biçimi belirtir. Her biçim, farklı dağıtım ortamlarıyla uyumluluk sağlar.
namestrNoneGerektiren biçimler için donanım hedefinin adı: Hailo mimarisi ('hailo8', 'hailo8l', 'hailo10h', 'hailo15h', 'hailo15l'; varsayılanı 'hailo8l'), Rockchip RKNN çipi (varsayılanı 'rk3588'), Huawei Ascend SoC (bir CANN --soc_version; varsayılanı 'Ascend310B4') veya Qualcomm QNN HTP hedefi (varsayılanı '73'). Diğer modlar tarafından kullanılan project/name çalıştırma adlandırma çiftinden farklıdır.
imgszint veya tuple640Model girdisi için istenen görüntü boyutudur. Kare görüntüler için bir tamsayı (ör. 640×640 için 640) veya belirli boyutlar için bir demet (height, width) olabilir. Belirtilmediğinde dışa aktarma, yüklenen checkpoint'te kayıtlı eğitim boyutunu yeniden kullanır: resmi YOLO26 checkpoint'leri derinlik için 768, sınıflandırma için 224, OBB için 1024 ve diğer görevler için 640 kaydeder; fine-tune ise eğitildiği imgsz değerini kaydeder. YAML'dan oluşturulan bir modelin kayıtlı eğitim boyutu yoktur ve 640 kullanır.
kerasboolFalseTensorFlow SavedModel için Keras biçimine dışa aktarmayı etkinleştirir ve TensorFlow serving ile API'leriyle uyumluluk sağlar.
optimizeboolFalseDEEPX için daha yüksek derleyici optimizasyonunu etkinleştirir; derleme süresini artırırken çıkarım gecikmesini azaltır.
quantizeint veya strNoneKuantizasyon hassasiyeti: 16 (FP16, model boyutunu küçültür ve desteklenen donanımda çıkarımı hızlandırabilir) veya 8 (INT8/PTQ, minimal doğruluk kaybıyla modeli daha da sıkıştırır, öncelikle uç cihazlar içindir; data/fraction kalibrasyonu gerekir); 32/ayarlanmamış ise FP32'dir. quantize=8 ile eğitilmiş bir kontrol noktası her zaman INT8 dışarı aktarır: onnx ve engine, kalibrasyon gerektirmeden taşıdığı aralıklardan dışarı aktarım yapar ve diğer formatlar veya hassasiyetler reddedilir. Karma ağırlık/aktivasyon hassasiyetini destekleyen dışarı aktarım formatları ayrıca 'w8a8'/'w16a16'/'w8a16'/'w8a32' gösterimini de kabul eder. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır (half=True16, int8=True8, kullanım dışı kalma uyarısıyla hala kabul edilir). Yalnızca hedef format tarafından desteklenen hassasiyetlere izin verilir (aşağıya bakın).
dynamicboolFalseTorchScript, ONNX, OpenVINO, TensorRT ve CoreML dışa aktarmaları için dinamik giriş boyutlarına izin vererek değişken görüntü boyutlarının işlenmesinde esneklik sağlar.
simplifyboolTrueBir ara ONNX grafiği oluşturan dışa aktarmalarda onnxslim ile bu grafiği basitleştirir (bkz. Dışa Aktarma Biçimleri); bu, performansı ve çıkarım motorlarıyla uyumluluğu potansiyel olarak iyileştirebilir.
opsetintNoneBir ONNX grafiği oluşturan dışa aktarmalar için ONNX opset sürümünü belirtir (bkz. Dışa Aktarma Biçimleri); farklı ONNX ayrıştırıcıları ve çalışma zamanlarıyla uyumluluk sağlar. Ayarlanmazsa desteklenen en son sürümü kullanır.
workspacefloat veya NoneNoneTensorRT optimizasyonları için maksimum çalışma alanı boyutunu GiB cinsinden belirler ve bellek kullanımı ile performansı dengeler. TensorRT tarafından cihazın maksimumuna kadar otomatik ayırma yapmak için None kullan.
nmsbool, isteğe bağlıNoneNone, harici NMS için ham bire-çok tahminleri dışarı aktarır; True, desteklenen yerlerde NMS'yi gömer; False, mevcut olduğunda NMS içermeyen başlığı seçer. CoreML gömülü NMS, statik şekillerle algılama (detect), segmentasyon (segment) ve poz tahminini (pose) destekler. Uçtan Uca Algılama kılavuzuna göz at.
conffloatNoneDışa aktarma sırasında NMS oluşturulan her yerde kullanılan güven eşiğidir: nms=True dışa aktarmaları; Hailo'nun uçtan uca olmayan algılama dışa aktarmaları; ve dahili olarak nms=True değerini zorlayan IMX algılama, poz ve segment dışa aktarmaları. Ayarlanmadığında varsayılan değer 0.25 olur.
ioufloat0.7Dışa aktarma sırasında NMS oluşturulan her yerde kullanılan IoU eşiğidir: nms=True dışa aktarmaları; Hailo'nun uçtan uca olmayan algılama dışa aktarmaları; ve dahili olarak nms=True değerini zorlayan IMX algılama, poz ve segment dışa aktarmaları.
max_detint300Dışarı aktarılan modelin çıktısında tutulan maksimum algılama sayısı. CoreML tespiti hariç her formatta nms=True dışa aktarımlarına uygulanır; CoreML tespitinin yerel NMS boru hattında algılama sınırı bulunmaz, ayrıca NMS içermeyen uçtan uca tespit dışa aktarımları (YOLO26, YOLOv10, mevcut çapa sayısıyla sınırlıdır) ve IMX'in tespit, poz ve segment dışa aktarımları bu kapsamdadır.
agnostic_nmsboolFalseStandart nms=True işlem hattı aracılığıyla dışa aktarma sırasında NMS oluşturulan her yerde sınıftan bağımsız NMS'yi etkinleştirir; buna CoreML'nin kendi NMS aşaması da dahildir. Daha düşük puanlı çakışan kutuları yalnızca aynı sınıf içinde değil, farklı sınıflar arasında da bastırır. Kendi oluşturduğu NMS yapılandırmalarında sınıftan bağımsız seçenek bulunmadığından Hailo veya IMX'nin kendi NMS yapılandırmaları tarafından dikkate alınmaz ve bu işaretten bağımsız olarak sınıf farkındalığını korur. NMS'siz uçtan uca dışa aktarmalara da (YOLO26, YOLOv10) işlenir; burada yalnızca aynı algılamanın birden çok sınıf etiketi altında görünmesini (IoU=1.0 yinelemeleri) önler, farklı kutular arasında IoU eşiğine dayalı bastırma yapmaz.
batchint1Dışa aktarılan modelin batch çıkarım boyutunu veya predict modunda eşzamanlı olarak işleyeceği maksimum görüntü sayısını belirtir. Edge TPU dışa aktarmalarında bu değer otomatik olarak 1'e ayarlanır.
devicestrNoneDışa aktarma cihazını belirtir: GPU (device=0), CPU (device=cpu), Apple silicon için MPS (device=mps), Huawei Ascend NPU (device=npu veya device=npu:0) veya NVIDIA Jetson için DLA (device=dla:0 veya device=dla:1). TensorRT dışa aktarmaları otomatik olarak GPU kullanır, ancak TensorRT 11.0 DLA'yı desteklemez.
verboseboolFalseformat='engine' dışa aktarması sırasında TensorRT oluşturucu günlüğünün önem düzeyini VERBOSE'a yükseltir. Diğer dışa aktarma biçimleri bunu yok sayar.
datastrNoneINT8 kuantizasyon kalibrasyonu için gerekli olan veri kümesi YAML dosyasına giden yol; sınıflandırma bunun yerine bir veri kümesi dizini veya yerleşik bir veri kümesi adı alır. INT8 etkinken belirtilmediği takdirde Ultralytics, gerektiğinde görev odaklı bir kalibrasyon veri kümesi seçer veya model görevi için varsayılan veri kümesine geri döner. quantize=8 ile eğitilmiş bir kontrol noktası kendi INT8 aralıklarını taşır ve kalibrasyon verisine ihtiyaç duymaz.
splitstr'val'data üzerinden INT8 niceleme kalibrasyon 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ümesidir: bir oran, görüntü sayısı veya [train, val, test] değerleri. 1 tam bölümü ifade eder, 1 üzerindeki tamsayılar görüntü sayısıdır ve yalnızca isteğe bağlı test girdisi, hiçbiri anlamında 0/0.0 değerlerini kabul eder. İki öğeli listeler test değerini tam bırakır.

Düşünülerek yapılan yapılandırma, dışa aktarılan modelin kullanım alanı için optimize edilmesini ve hedef ortamda etkili biçimde çalışmasını sağlar.

Dışa Aktarma Kılavuzu

Çözümler Ayarları#

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

Bağımsız değişkenTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasının yolu.
regionlist veya dictNoneİlgi bölgesini tanımlayan noktalar: (x, y) demetlerinden oluşan bir liste veya birden fazla bölge için bölge adlarını nokta listelerine eşleyen bir sözlük (RegionCounter yalnızca). None olduğunda bölge gerektiren çözümler önceden tanımlanmış varsayılan değere geri döner.
show_inboolTrueVideo akışında giriş sayılarının gösterilip gösterilmeyeceğini denetleyen bayrak.
show_outboolTrueVideo akışında çıkış sayılarının gösterilip gösterilmeyeceğini denetleyen bayrak.
analytics_typestr'line'Grafik türü; yani line, bar, area veya pie.
colormapintcv2.COLORMAP_DEEPGREENIsı haritası için kullanılacak renk haritası.
line_widthint2Çözümün çizdiği kutular, kilit noktaları ve sayılar için çizgi kalınlığı.
verboseboolTrueÇözümün kare başına giriş şeklini, sınıf sayılarını ve işlem hızını kaydetmesini etkinleştirir. Takip çağrısı her zaman sessizdir.
json_filestrNoneTüm park koordinatları 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 üç kilit nokta dizini listesi. Bu kilit 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_angleint90'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ğerlerle ayarlar.
crop_dirstr'cropped-detections'Kırpılan algılamaları depolamak için dizin adı.
recordsint5Güvenlik alarm sistemiyle e-posta göndermeyi tetikleyecek toplam algılama sayısı.
vision_pointtuple[int, int](20, 20)VisionEye Çözümü'nü kullanarak görüşün nesneleri takip edeceği ve yollar çizeceği nokta.
sourcestrNoneGirdi kaynağının yolu (video, RTSP vb.). Yalnızca Çözümler komut satırı arayüzü (CLI) ile kullanılabilir.
figsizetuple[float, float](12.8, 7.2)Isı haritaları veya grafikler gibi analitik grafikleri için şekil boyutu.
fpsfloat30.0Hız hesaplamalarında kullanılan saniye başına kare sayısı.
max_histint5Hız/yön hesaplamaları için nesne başına izlenecek maksimum geçmiş nokta sayısı.
meter_per_pixelfloat0.05Piksel mesafesini gerçek dünya birimlerine dönüştürmek için kullanılan ölçeklendirme faktörü.
max_speedint120Görsel katmanlardaki maksimum hız sınırı (uyarılarda kullanılır).
datastr'images'Benzerlik araması için kullanılan görüntü dizininin yolu.
imgszint640Model çıkarımı için giriş görüntüsü boyutu.

Çözümler Kılavuzu

Artırma Ayarları#

Veri artırma teknikleri, eğitim verilerine değişkenlik kazandırarak YOLO modelinin sağlamlığını ve performansını iyileştirmek için gereklidir; modelin görülmemiş verilere daha iyi genelleme yapmasına yardımcı olur. Aşağıdaki tabloda her artırma bağımsız değişkeninin 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 bir bölümü kadar ayarlayarak renk değişkenliği oluşturur. Modelin farklı aydınlatma 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 bir oran kadar değiştirerek renklerin yoğunluğunu etkiler. Farklı çevre koşullarını benzetmek 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.0Görüntünün değerini (parlaklığını) bir oran kadar değiştirerek modelin çeşitli aydınlatma koşullarında iyi performans göstermesine yardımcı olur. 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 çeşitli yönelimlerde tanıma yeteneğini geliştirir.
translatefloat0.1detect, segment, semantic, depth, pose, obb0.0 - 1.0Görüntüyü görüntü boyutunun bir oranı kadar yatay ve dikey yönde öteleyerek kısmen görünen nesneleri algılamayı öğrenmeye yardımcı olur.
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ç faktörüyle ölçeklendirerek kameradan farklı uzaklıklardaki nesneleri benzetir.
shearfloat0detect, segment, semantic, depth, pose, obb-180 - +180Görüntüyü belirtilen derece kadar keserek nesnelerin farklı açılardan görülmesinin etkisini taklit eder.
perspectivefloat0detect, segment, semantic, depth, pose, obb0.0 - 0.001Görüntüye rastgele perspektif dönüşümü uygulayarak modelin nesneleri 3B uzayda anlama yeteneğini geliştirir.
flipudfloat0detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Görüntüyü belirtilen olasılıkla baş aşağı çevirerek nesnenin özelliklerini etkilemeden veri değişkenliğini artırır.
fliplrfloat0.5detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Görüntüyü belirtilen olasılıkla soldan sağa çevirir; simetrik nesneleri öğrenmek ve veri kümesi çeşitliliğini artırmak için kullanışlıdır.
bgrfloat0detect, segment, semantic, depth, pose, obb0.0 - 1.0Belirtilen olasılıkla görüntü kanallarını RGB'den BGR'ye çevirir; hatalı kanal sıralamasına karşı sağlamlığı artırmak için kullanışlıdır.
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 bileşimlerini ve nesne etkileşimlerini benzetir. Karmaşık sahne anlayışı için son derece etkilidir.
mixupfloat0detect, segment, semantic, pose, obb0.0 - 1.0İki görüntüyü ve etiketlerini harmanlayarak bileşik bir görüntü oluşturur. Etiket gürültüsü ve görsel değişkenlik sunarak modelin genelleme yeteneğini geliştirir.
cutmixfloat0detect, segment, pose, obb0.0 - 1.0İki görüntünün bölümlerini birleştirerek belirgin bölgeleri koruyan kısmi bir harmanlama oluşturur. Örtülme senaryoları oluşturarak modelin sağlamlığını artırır.
copy_pastefloat0segment, obb0.0 - 1.0Yapıştırılmaya uygun nesnelerin yapıştırılan oranıdır; flip bunları 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, obb-Kullanılacak copy-paste stratejisini belirtir. Seçenekler arasında 'flip' ve 'mixup' bulunur.
auto_augmentstrrandaugmentclassify-Model performansını görsel çeşitlilik yoluyla artırmak için önceden tanımlanmış bir artırma politikasını ('randaugment', 'autoaugment' veya 'augmix') uygular.
erasingfloat0.4classify0.0 - 1.0Modeli daha az belirgin özelliklere odaklanmaya teşvik etmek için eğitim sırasında görüntünün 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). Ö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 gereksinimlerini karşılayacak şekilde düzenle. Farklı değerlerle denemeler yapmak, en iyi model performansı için en uygun artırma stratejisini bulmana yardımcı olabilir.

Zenginleştirme Kılavuzu

Günlük Kaydı, Checkpoint ve Grafik Ayarları#

Bir YOLO modelini eğitirken günlük kaydı, checkpoint'ler, grafikler ve dosya yönetimi önemlidir:

  • Günlük kaydı: Modelin ilerlemesini TensorBoard gibi kütüphanelerle veya bir dosyaya yazarak izle ve sorunları teşhis et.
  • Checkpoint'ler: Eğitime devam etmek veya farklı yapılandırmalarla denemeler yapmak için modeli düzenli aralıklarla kaydet.
  • Grafik oluşturma: Matplotlib veya TensorBoard gibi kütüphanelerle performansı ve eğitim ilerlemesini görselleştir.
  • Dosya yönetimi: Kolay erişim ve analiz için checkpoint'ler, günlük dosyaları ve grafikler gibi eğitim sırasında oluşturulan dosyaları düzenle.

Bu unsurların etkili yönetimi ilerlemeyi izlemeye 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> altında 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 bunu 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 izlemek amacıyla kayıp eğrileri, precision-recall eğrileri ve örnek tahminler gibi grafikleri oluşturmak için True olarak ayarla.
saveTrueEğitim kontrol noktalarının ve nihai model ağırlıklarının kaydedilmesini etkinleştirir. Model durumlarını belirli aralıklarla kaydetmek için True olarak ayarla; böylece eğitime devam edebilir veya modeli dağıtabilirsin.

Özel Yapılandırma Dosyası#

Satır içinde belirtmeden tüm bağımsız değişken kümesini yeniden kullanmak için kaydedilmiş bir YAML yükle. cfg bağımsız değişkeni, default.yaml içindeki değerleri geçersiz kılar; bununla birlikte geçirilen ek bağımsız değişkenler yine önceliklidir.

Bağımsız değişkenVarsayılanAçıklama
cfgNoneDeğerleri default.yaml girdilerinin yerini alan YAML dosyasının yolu. Uygulamalı bir CLI örneği için Varsayılan Yapılandırma Dosyasını Geçersiz Kılma bölümüne bak.

SSS#

  • Batch size, learning rate, momentum ve weight decay gibi hiperparametreleri ayarlayarak performansı artırabilirsin. Data augmentation ayarlarını düzenle, doğru optimizer'ı seç ve early stopping veya mixed precision gibi teknikleri kullan. Ayrıntılar için Train Guide bölümüne bak.

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

    • Batch Size (batch): Daha büyük değerler eğitimi kararlı hâle getirebilir, ancak daha fazla bellek gerektirir.
    • Learning Rate (lr0): Daha küçük değerler hassas ayarlamalar sağlar, ancak yakınsamayı yavaşlatır.
    • Momentum (momentum): Gradyan vektörlerini hızlandırarak salınımları sönümler.
    • Image Size (imgsz): Daha büyük boyutlar doğruluğu artırır, ancak hesaplama yükünü yükseltir.

    Bunları veri kümesine ve donanımına göre ayarla. Daha fazla bilgi için Train Settings bölümüne bak.

  • Learning rate (lr0) kritik öneme sahiptir; SGD için 0.01, Adam optimizer için ise 0.001 ile başla. Metrikleri izle ve gerektiğinde ayarla. Cosine learning rate scheduler'larını (cos_lr) veya warmup'ı (warmup_epochs, warmup_momentum) kullan. Ayrıntılar Train Guide bölümünde yer alır.

  • Varsayılan ayarlar şunları içerir:

    • Confidence Threshold (conf=0.25): Algılamalar için minimum güven değeri.
    • IoU Threshold (iou=0.7): Maksimum Olmayan Bastırma (NMS) için kullanılır.
    • Image Size (imgsz=640): Girdi görüntülerini yeniden boyutlandırır.
    • Device (device=None): CPU, GPU, Apple MPS veya Huawei Ascend NPU'yu (npu) seçer.

    Tam kapsamlı bir genel bakış için Predict Settings ve Predict Guide bölümlerine bak.

  • Mixed precision eğitimi (amp=True), FP16 ve FP32 kullanarak bellek kullanımını azaltır ve eğitimi hızlandırır. Modern GPU'lar için faydalıdır; önemli bir doğruluk kaybı olmadan daha büyük modellere ve daha hızlı hesaplamalara olanak tanır. Daha fazla bilgi için Train Guide bölümüne bak.

Yorumlar