YOLO Vision 2026:

Yapılandırma#

YOLO ayarları ve hiperparametreleri, modelin performansında, hızında ve doğruluğunda kritik bir 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ı aşağıdaki 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 gelir.

Görevler#

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

  • Tespit: Nesne tespiti, bir görüntü veya video içindeki nesneleri tanımlar ve konumlandırır.
  • Bölütleme: Örnek bölütleme, bir görüntüyü veya videoyu farklı nesnelere veya sınıflara karşılık gelen bölgelere ayırır.
  • Anlamsal bölütleme (semantic): Anlamsal bölütleme, ayrıntılı sahne anlaşılması için bir görüntüdeki her piksele bir sınıf etiketi atar.
  • Derinlik (depth): Tek gözlü derinlik kestirimi, tek bir RGB görüntüsünden metre cinsinden piksel başına derinlik haritası tahmin eder.
  • Sınıflandır: Görüntü sınıflandırma, bir girdi görüntüsünün sınıf etiketini tahmin eder.
  • Poz: Poz kestirimi, bir görüntü veya videodaki nesneleri belirler ve anahtar noktalarını kestirir.
  • 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.
ArgümanVarsayılanAçıklama
task'detect'YOLO görevini belirtir: nesne tespiti için detect object detection, örnek bölümleme için segment, anlamsal bölümleme 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 çıkışlara ve sorunlara göre uyarlanmıştır.

Görev 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: Özel bir veri kümesi üzerinde bir YOLO modeli eğit.
  • Val: Eğitilmiş bir YOLO modelini doğrula.
  • Predict: Yeni görüntüler veya videolar üzerinde tahmin yapmak için eğitilmiş bir YOLO modeli kullan.
  • Export: Dağıtım için bir YOLO modelini dışa aktar.
  • Track: Bir YOLO modeli kullanarak nesneleri gerçek zamanlı olarak izle.
  • Benchmark: YOLO dışa aktarımlarının (ONNX, TensorRT, vb.) hızını ve doğruluğunu kıyasla.
ArgümanVarsayı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 formatlarına 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.

Mod 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 yığın boyutu, öğrenme hızı, momentum ve ağırlık çürümesi yer alır. Optimizör seçimi, kayıp fonksiyonu ve veri kümesi kompozisyonu da eğitimi etkiler. En iyi performans için ayarlama ve deneme yapmak çok önemlidir. Daha fazla ayrıntı için Ultralytics giriş noktası fonksiyonuna bakın.

ArgümanTipVarsayılanAçıklama
modelstrNoneEğitim için model dosyasını belirtir. .pt önceden eğitilmiş model veya .yaml yapılandırma dosyası için bir yol kabul eder. Model yapısını tanımlamak veya ağırlıkları başlatmak için gereklidir.
datastrNoneVeri kümesi yapılandırma dosyasının yolu (örn. coco8.yaml). Bu dosya, eğitim ve doğrulama verilerinin yolları, sınıf adları ve sınıf sayısı dahil olmak üzere veri kümesine özgü parametreler içerir.
epochsint100Toplam eğitim epoch sayısı. Her epoch, tüm veri kümesi üzerinden tam bir geçişi temsil eder. Bu değeri ayarlamak, eğitim süresini ve model performansını etkileyebilir.
timefloatNoneSaat cinsinden maksimum eğitim süresi. Ayarlanırsa, bu argüman epochs argümanını geçersiz kılar ve eğitimin belirtilen süreden sonra otomatik olarak durmasını sağlar. Zaman kısıtlı eğitim senaryoları için kullanışlıdır.
patienceint100Eğitimi erken durdurmadan önce doğrulama metriklerinde iyileşme olmadan beklenecek epoch sayısı. Performans plato çizdiğinde eğitimi durdurarak aşırı öğrenmeyi önlemeye yardımcı olur.
batchint veya float16Yığın boyutu, üç mod ile: bir tamsayı olarak ayarlanmış (örn. batch=16), %60 GPU bellek kullanımı için 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, kenarları belirtilen değere eşit (eğer rect=False ise) kareler olacak şekilde yeniden boyutlandırılır; YOLO modelleri için en-boy oranı korunur ancak RT-DETR için 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ığı, epoch cinsinden belirtilir. -1 değeri bu özelliği devre dışı bırakır. Uzun eğitim oturumları sırasında ara modelleri kaydetmek için yararlıdır.
cacheboolFalseVeri kümesi görüntülerini bellekte (True/ram), diskte (disk) önbelleğe almayı etkinleştirir veya devre dışı bırakır (False). Artan bellek kullanımı pahasına disk G/Ç'sini azaltarak eğitim hızını artırır.
deviceint veya str veya listNoneEğitim için hesaplama cihazını/cihazlarını belirtir: tek bir GPU (device=0), çoklu GPU'lar (device=[0,1]), CPU (device=cpu), Apple silikon için MPS (device=mps), Huawei Ascend NPU (device=npu:0 veya device=npu:0,1) veya boşta duran GPU'nun (device=-1) ya da birden fazla boşta GPU'nun (device=[-1,-1]) otomatik seçimi.
workersint8Veri yükleme için işçi iş parçacığı sayısı (Çoklu GPU eğitimi durumunda RANK başına). Veri ön işleme hızını ve modele beslemeyi etkiler, özellikle çoklu GPU kurulumlarında faydalıdır.
projectstrNoneEğitim çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerin düzenli bir şekilde saklanmasına olanak tanır.
namestrNoneEğitim çalışmasının adı. Proje klasörü içinde eğitim günlüklerinin ve çıktılarının depolandığı bir alt dizin oluşturmak için kullanılır.
exist_okboolFalseEğer True ise, mevcut bir proje/isim dizininin üzerine yazılmasına izin verir. Önceki çıktıları manuel olarak temizlemeye gerek kalmadan yinelemeli denemeler yapmak için yararlıdır.
save_dirstrNoneproject/name kombinasyonunu geçersiz kılarak, çalıştırma çıktılsının kaydedildiği tam dizini belirtir. Yol, otomatik artırma yapılmadan olduğu gibi kullanılır, bu nedenle ardışık çalıştırmalar aynı dizini yeniden kullanır.
pretrainedbool veya strTrueEğitime önceden eğitilmiş ağırlıklarla başlayıp başlamayacağını belirler. Bir boolean değer veya yüklenecek ağırlıklara giden bir dize yolu olabilir. 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ının eşleştiği her yerde önceden eğitilmiş sınıflandırma kafası satırlarını yeni modele kopyalar, böylece çakışan sınıflar öğrenilen sapmalarını ve kafa genişliği değişmediğinde ağırlıklarını korur. Sınıf sayıları farklı olduğunda veya farklı bir sınıf sırasıyla eşleştiğinde de geçerlidir.
optimizerstr'auto'Eğitim için optimizör seçimi. Seçenekler arasında SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp veya model yapılandırmasına göre otomatik seçim için auto yer alır. Yakınsama hızını ve kararlılığını etkiler.
seedint0Eğitim için rastgele tohum değerini ayarlar, aynı yapılandırmalarla yapılan çalışmalarda sonuçların tekrarlanabilirliğini sağlar.
deterministicboolTrueBelirlenmiş algoritma kullanımını zorunlu kılar, tekrarlanabilirliği sağlar ancak belirlenmiş olmayan algoritmalar üzerindeki kısıtlama nedeniyle performansı ve hızı etkileyebilir.
verboseboolTrueEğitim sırasında ayrıntılı çıktıyı etkinleştirir; ilerleme çubuklarını, dönem başı metriklerini ve konsolda ek eğitim bilgilerini görüntüler.
single_clsboolFalseÇok sınıflı veri setlerindeki 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 için veya sınıflandırmadan ziyade nesne varlığına odaklanırken yararlıdır.
classeslist[int]NoneEğitimde kullanılacak sınıf kimliklerinin listesini belirtir. Eğitim sırasında yalnızca belirli sınıfları filtrelemek ve bunlara odaklanmak için yararlıdır.
rectboolFalseMinimum dolgu stratejisini etkinleştirir — bir yandaki görüntüler ortak bir boyuta ulaşmak için minimum düzeyde doldurulur ve en uzun kenar imgsz değerine eşit olur. Verimliliği ve hızı artırabilir ancak model doğruluğunu etkileyebilir.
multi_scalefloat0.0Model adım katlarına yuvarlayarak, her yığını imgsz değerini +/- multi_scale (örn. 0.25 -> 0.75x ile 1.25x arası) oranında rastgele değiştirir; 0.0 çok ölçekli eğitimi devre dışı bırakır.
cos_lrboolFalseEpoch'lar boyunca bir kosinüs eğrisini takip ederek öğrenme hızını ayarlayan bir kosinüs öğrenme hızı planlayıcısı kullanır. Daha iyi yakınsama için öğrenme hızını yönetmeye yardımcı olur.
close_mosaicint10Tamamlanmadan önce eğitimi dengelemek için son N epoch'ta mozaik veri artırmayı devre dışı bırakır. 0 olarak ayarlamak bu özelliği devre dışı bırakır.
resumeboolFalseEğitime son kaydedilen kontrol noktasından devam eder. Model ağırlıklarını, optimize edici durumunu ve dönem sayısını otomatik olarak yükleyerek eğitime sorunsuz bir şekilde devam etmeni sağlar.
ampboolTrueOtomatik Karma Hassasiyet (AMP) eğitimini etkinleştirerek bellek kullanımını azaltır ve doğruluk üzerinde minimum etkiyle eğitimi olası biçimde hızlandırır.
fractionfloat1.0Eğitim için kullanılacak veri seti oranını belirtir. Deneyler veya kaynakların sınırlı olduğu durumlar için yararlı olan tam veri setinin bir alt kümesi üzerinde eğitime olanak tanır.
profileboolFalseEğitim sırasında ONNX ve TensorRT hızlarının profillenmesini etkinleştirir, model dağıtımını optimize etmek için yararlıdır.
freezeint veya listNoneModelin ilk N katmanını veya dizine göre belirtilen katmanları dondurarak eğitilebilir parametre sayısını azaltır. İnce ayar veya aktarımlı öğrenme için kullanışlıdır.
lr0float0.01Başlangıç öğrenme hızı (yani SGD=1E-2, Adam=1E-3). Bu değerin ayarlanması, model ağırlıklarının ne kadar hızlı güncellendiğini etkileyerek optimizasyon süreci için çok önemlidir.
lrffloat0.01Zaman içinde öğrenme hızını ayarlamak için planlayıcılarla birlikte kullanılan, başlangıç oranının bir kesri olarak nihai öğrenme hızı = (lr0 * lrf).
momentumfloat0.937SGD için momentum faktörü veya Adam optimizörleri için beta1, mevcut güncellemada geçmiş gradyanların dahil edilmesini etkiler.
weight_decayfloat0.0005Aşırı öğrenmeyi önlemek için büyük ağırlıklara ceza veren L2 düzenlileştirme terimi.
warmup_epochsfloat3.0Öğrenme oranı ısınma dönemleri sayısı; eğitimi erkenden stabilize etmek için öğrenme oranını düşük bir değerden başlangıç öğrenme oranına kademeli olarak artırır.
warmup_momentumfloat0.8Isınma aşaması için başlangıç momentumu, ısınma süresi boyunca ayarlanan momentuma kademeli olarak uyarlanır.
warmup_bias_lrfloat0.1Isınma aşamasında sapma (bias) parametreleri için öğrenme oranı, ilk dönemlerde model eğitimini stabilize etmeye yardımcı olur.
distill_modelstrNoneBilgi damıtma için bir öğretmen model kontrol noktasına (örn. yolo26x.pt) giden yol. Ayarlandığında, öğrenci model dondurulmuş öğretmen tarafından yönlendirilen ekstra bir damıtma kaybı ile 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.5loss function içindeki kutu kaybı bileşeninin ağırlığı; bounding box koordinatlarının doğru bir şekilde tahmin edilmesine ne kadar önem verileceğini etkiler.
clsfloat0.5Toplam kayıp fonksiyonundaki sınıflandırma kaybının ağırlığı, doğru sınıf tahmininin diğer bileşenlere göre önemini etkiler.
cls_pwfloat0.0Ters sınıf sıklığı kullanılarak 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ırmasını devre dışı bırakır, 1.0 tam ters frekans ağırlıklandırmasını uygular. 0 ile 1 arasındaki değerler kısmi ağırlıklandırma sağlar.
dflfloat1.5Kutu kenar mesafelerini regresyonla hesaplayan bir sınırlayıcı kutu yerelleştirme terimi olan dağılım odak kaybının (DFL) ağırlığı.
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 modellerinde anahtar nokta nesnellik (objectness) kaybının ağırlığı, tespit güveni ile poz doğruluğunu dengeler.
rlefloat1.0Poz tahmini modellerinde artık log-olabilirlik tahmini kaybının ağırlığı, anahtar nokta yerelleştirme hassasiyetini etkiler.
anglefloat1.0Obb modellerinde açı kaybının ağırlığı, yönlendirilmiş sınırlayıcı kutu açı tahminlerinin hassasiyetini etkiler.
dlogfloat1.0Derinlik doğruluğunu sağlayan birincil terim olan derinlik tahmini modellerindeki ölçek değişmez logaritmik (SILog) kaybın ağırlığı.
dgradfloat0.5Derinlik tahmini modellerindeki 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 tahmin modellerindeki SILog kaybetme varyans odak faktörü. 1.0 kaybı tamamen ölçekten bağımsız hale getirirken, 0.0 bunu düz log-RMSE'ye indirger.
nbsint64Kaybın normalizasyonu için nominal grup boyutu.
overlap_maskboolTrueNesne maskelerinin eğitim için tek bir maske halinde birleştirilip birleştirilmeyeceğini veya her nesne için ayrı tutulacağını belirler. Çakışma durumunda, birleştirme sırasında daha küçük maske, daha büyük olanın üzerine bindirilir.
mask_ratioint4Segmentasyon maskeleri için aşağı örnekleme (downsample) oranı, eğitim sırasında kullanılan maskelerin çözünürlüğünü etkiler.
dropoutfloat0.0Sınıflandırma görevlerinde düzenlileştirme için dropout oranı, eğitim sırasında birimleri rastgele atlayarak aşırı öğrenmeyi önler.
valboolTrueEğitim sırasında doğrulamayı etkinleştirerek model performansının ayrı bir veri setinde periyodik olarak değerlendirilmesini sağlar.
plotsboolTrueEğitim ve doğrulama metriklerinin grafiklerini ve tahmin örneklerini oluşturup kaydeder, model performansı ve öğrenme ilerleyişine ilişkin görsel içgörüler sağlar.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True"default", False → devre dışı bırakma veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa bir uyarı ile eager moduna geri döner.
channels_lastboolFalseEğitim sırasında evrişimler için channels_last (NHWC) bellek biçimini kullanır, sonuçlarda hiçbir değişiklik olmadan CUDA Tensor Core GPU'larını hızlandırır. Hiçbir fayda sağlamadığı CPU ve MPS üzerinde otomatik olarak yoksayılır.
max_detint300Eğitimin doğrulama aşamasında tutulan maksimum nesne sayısını belirtir.
Grup Boyutu Ayarları Hakkında Not

batch argümanı üç yapılandırma seçeneği sunar:

  • Sabit Yığın Boyutu: Bir tamsayı ile yığın başına görüntü sayısını belirtin (örn., batch=16).
  • Otomatik Mod (%60 GPU Belleği): Yaklaşık %60 CUDA bellek kullanımına otomatik ayarlama için batch=-1 kullanın.
  • Kullanım Oranlı Otomatik Mod: Belirtilen bir GPU bellek kullanımına göre ayarlama yapmak için bir oran ayarlayın (örn., batch=0.70).

Eğitim Kılavuzu

Tahmin Ayarları#

YOLO modelleri için 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ı yer alır. Girdi verisi boyutu, formatı ve maskeler gibi ek özellikler de tahminleri etkiler. En iyi performans için bu ayarları yapmak esastır.

Çıkarım argümanları:

ArgümanTipVarsayılanAçıklama
sourcestr veya int veya NoneNoneÇıkarım için veri kaynağını belirtir. Bir görüntü yolu, video dosyası, dizin, URL veya canlı yayınlar için cihaz kimliği olabilir. Atlanırsa, 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 formatları ve kaynakları destekleyerek farklı girdi türlerinde esnek uygulama sağlar.
conffloat0.25Tespitler için minimum güven eşiğini ayarlar. Bu eşiğin altındaki güvenle tespit edilen nesneler dikkate alınmaz. Bu değeri ayarlamak, yanlış pozitifleri azaltmana yardımcı olabilir.
ioufloat0.7Maksimum Olmayan Bastırma (NMS) için Kesişim Üzerine Birlik (IoU) eşiği. Daha düşük değerler, örtüşen kutuları ortadan kaldırarak daha az tespit ile sonuçlanır, kopyaları azaltmak için kullanışlıdır.
imgszint veya tuple640Letterbox hedefi. Bir tamsayı kare N×N verir; bir demet (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ın. Sabit şekil ve minimum dikdörtgen bölümüne bakın.
rectboolTrueEğer True ise, mümkün olduğunda minimum dikdörtgen dolgusu kullanın (aynı şekilli yığın ve desteklenen arka uç). Eğer False ise, her zaman tam imgsz değerine kadar doldurun. Sabit şekil ve minimum dikdörtgen bölümüne bakın.
quantizeint veya strNoneÇıkarım hassasiyeti: 16/"fp16" desteklenen GPU'larda FP16 çıkarımını etkinleştirir; 32/"fp32"/ayarlanmamış ise FP32'dir. INT8/PTQ nicelemesi 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 cihazı belirtir (örn., cpu, cuda:0, 0, npu veya npu:0). Kullanıcıların model yürütme için CPU, belirli bir GPU, Huawei Ascend NPU veya diğer hesaplama cihazları arasından seçim yapmasına olanak tanır.
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 tespit sayısı. Modelin tek bir çıkarımda tespit edebileceğ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ı. İşlemeyi hızlandırmak adına videolardaki karelerin atlanmasına olanak tanır ancak zamansal çözünürlükten ödün verilir. 1 değeri her kareyi işler, daha yüksek değerler ise kare atlar.
stream_bufferboolFalseVideo akışları için gelen karelerin kuyruğa alınıp alınmayacağını belirler. Eğer False ise, yeni karelere yer açmak için eski kareler düşürülür (gerçek zamanlı uygulamalar için optimize edilmiştir). Eğer True ise, hiçbir karenin atlanmamasını sağlayarak yeni kareleri bir tamponda kuyruğa alır, ancak çıkarım FPS'si akış FPS'sinden düşükse gecikmeye neden olur.
visualizeboolFalseTahmin edilen sınıf puanlarını artıran pikselleri gösteren, her tahminin yanında 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 PyTorch modelleri için kullanılabilir.
augmentboolFalseTahminler için test zamanı artırmayı (TTA) etkinleştirir; çıkarım hızından ödün vererek tespit sağlamlığını potansiyel olarak artırabilir.
agnostic_nmsboolFalseFarklı sınıflara ait örtüşen kutuları birleştiren, sınıftan bağımsız bir Maksimum Olmayan Bastırma (NMS) yöntemini etkinleştirir. Sınıf örtüşmesinin yaygın olduğu çok sınıflı tespit senaryolarında kullanışlıdır. Uçtan uca modeller için (YOLO26, YOLOv10), bu özellik yalnızca aynı tespitin birden fazla sınıf etiketiyle görünmesini engeller (IoU=1.0 kopyalar) ve farklı kutular arasında IoU eşik tabanlı bastırma yapmaz.
classeslist[int]NoneTahminleri belirli bir sınıf kimliği setine göre filtreler. Yalnızca belirtilen sınıflara ait tespitler döndürülür. Çok sınıflı tespit görevlerinde ilgili nesnelere odaklanmak için kullanışlıdır.
retina_masksboolFalseYüksek çözünürlüklü bölütleme maskeleri döndürür. Döndürülen maskeler (masks.data), etkinleştirilirse orijinal görüntü boyutuna eşleşecektir. Devre dışı bırakılırsa, çıkarım sırasında kullanılan görüntü boyutuna sahip olurlar.
embedlist[int]NoneÖznitelik vektörlerinin veya gömmelerin çıkarılacağı katmanları belirtir. Sondan bir önceki katman gömmeleri için model.embed(source) kullanın veya belirli katmanları seçmek için model.predict(source, embed=[layer]) kullanın. Kümeleme veya benzerlik arama gibi sonraki görevler için kullanışlıdır.
projectstrNonesave etkinse tahmin çıktılarının kaydedildiğ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 Results nesneleri üreten bir jeneratör döndürerek uzun videolar veya çok sayıda görüntü için bellek açısından verimli işlemeyi etkinleştirir.
verboseboolTrueTahmin süreci hakkında gerçek zamanlı geri bildirim sağlayan detaylı çıkarım günlüklerinin terminalde gösterilip gösterilmeyeceğini kontrol eder.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True"default", False → devre dışı bırakma veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa bir uyarı ile eager moduna geri döner.
channels_lastboolFalseÇıkarım sırasında evrişimler için channels_last (NHWC) bellek biçimini kullanır, sonuçlarda hiçbir değişiklik olmadan CUDA Tensor Core GPU'larını hızlandırır. Yalnızca yerel PyTorch modelleri için geçerlidir; CPU, MPS ve TensorRT ve ONNX gibi dışarı aktarılan biçimler için yoksayılır.
end2endboolNoneNMS içermeyen çıkarımı destekleyen YOLO modellerinde uçtan uca modu geçersiz kılar (YOLO26, YOLOv10). Bunu False olarak ayarlamak, geleneksel NMS boru hattını kullanarak tahmin çalıştırmanıza olanak tanır ve ayrıca iou argümanını kullanmanıza imkan sağlar. Ayrıntılar için Uçtan Uca Tespit kılavuzuna bakın.

Görselleştirme argümanları:

ArgümanTipVarsayılanAçıklama
showboolFalseEğer True ise, açıklama eklenmiş 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 için kullanışlıdır.
saveboolFalse or TrueEk açıklama eklenmiş görüntülerin veya videoların dosyalara kaydedilmesini etkinleştirir. Dokümantasyon, daha fazla analiz veya sonuç paylaşımı için kullanışlıdır. CLI kullanıldığında varsayılan olarak True, Python içinde kullanıldığında False değerini alır.
save_framesboolFalseVideolar işlenirken, tek tek kareleri görüntü olarak kaydeder. Belirli kareleri çıkarmak veya detaylı kare kare analiz yapmak için kullanışlıdır.
save_txtboolFalse[class] [x_center] [y_center] [width] [height] [confidence] formatını takip ederek tespit sonuçlarını 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ı dahil eder. Sonradan işleme ve analiz için mevcut olan detay düzeyini artırır.
save_cropboolFalseTespit edilen nesnelerin kırpılmış görüntülerini kaydeder. Veri seti artırma, analiz veya belirli nesneler için odaklanmış veri setleri oluşturmak için kullanışlıdır.
show_labelsboolTrueGörsel çıktıda her bir tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar.
show_confboolTrueHer tespit için güven skorunu etiketin yanında görüntüler. Her bir tespit için modelin kesinliği hakkında içgörü sağlar.
show_boxesboolTrueTespit edilen nesnelerin etrafına sınırlayıcı kutular çizer. Görüntülerde veya video karelerinde nesnelerin görsel tanımlanması ve konumlandırılması için gereklidir.
line_widthint or NoneNoneSınırlayıcı kutuların çizgi genişliğini belirtir. Eğer 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ı, bir doğrulama veri kümesindeki performansı değerlendirmek için hiperparametreler ve yapılandırmalar içerir. Bu ayarlar performansı, hızı ve doğruluğu etkiler. Yaygın ayarlar arasında yığın boyutu, doğrulama sıklığı ve performans metrikleri yer alır. Doğrulama veri kümesinin boyutu ve bileşimi ile birlikte belirli görev de süreci etkiler.

ArgümanTipVarsayılanAçıklama
datastrNoneVeri kümesi yapılandırma dosyasının yolunu belirtir (örn. coco8.yaml). Bu dosya doğrulama verilerinin yolunu içermelidir.
imgszint640Girdi görüntülerinin boyutunu tanımlar. Tüm görüntüler işlenmeden önce bu boyuta yeniden boyutlandırılır. Daha büyük boyutlar küçük nesneler için doğruluğu artırabilir ancak işlem süresini uzatır.
batchint16Yığın 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, daha fazla analiz, diğer araçlarla entegrasyon veya COCO gibi değerlendirme sunucularına gönderim için sonuçları bir JSON dosyasına kaydeder.
conffloat0.001Tespitler 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 getirebilir. Hassasiyet-geri çağırma eğrilerini hesaplamak için doğrulama sırasında kullanılır. Bellek kullanımını azaltmak için OBB doğrulaması varsayılan olarak 0.01 değerindedir.
ioufloat0.7Non-Maximum Suppression için Intersection Over Union eşiğini ayarlar. Yinelenen tespitlerin ortadan kaldırılmasını kontrol eder.
max_detint300Görüntü başına maksimum algılama sayısını sınırlar. Aşırı algılamaları önlemek ve bilgi işlem kaynaklarını yönetmek için yoğun sahnelerde kullanışlıdır.
quantizeint veya strNoneDoğrulama hassasiyeti: 16/"fp16" desteklenen GPU'larda FP16 doğrulamasını etkinleştirir; 32/"fp32"/ayarlanmamış ise FP32'dir. INT8/PTQ nicelemesi dışa aktarma sırasında yapılandırılır, ardından dışa 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, mevcut en iyi cihazı otomatik olarak seçer. Virgülle ayırarak birden fazla CUDA cihazı belirtilebilir.
dnnboolFalseEğer True ise, ONNX modeli çıkarımı için OpenCV DNN modülünü kullanarak PyTorch çıkarım yöntemlerine bir alternatif sunar.
plotsboolTrueTrue olarak ayarlandığında, model performansının görsel olarak değerlendirilmesi için yertruth'a karşı tahminlerin grafiklerini, karışıklık matrislerini ve PR eğrilerini oluşturur ve kaydeder.
classeslist[int]NoneDeğerlendirilecek sınıf kimliklerinin listesini belirtir. Değerlendirme sırasında sadece belirli sınıflara odaklanmak ve diğerlerini filtrelemek için kullanışlıdır.
rectboolTrueEğer True ise, toplu işlem için dikdörtgen çıkarım kullanır, dolguyu azaltır ve görüntüleri orijinal en-boy oranında işleyerek potansiyel olarak hızı ve verimliliği artırır.
splitstr'val'Doğrulama için kullanılacak veri kümesi bölümünü belirler (val, test veya train). Performans değerlendirmesi için veri segmenti seçiminde esneklik sağlar.
projectstrNoneDoğrulama çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerden veya modellerden gelen sonuçları düzenlemeye yardımcı olur.
namestrNoneDoğrulama çalıştırmasının adı. Proje klasörü içinde doğrulama günlüklerinin ve çıktılarının depolandığı bir alt dizin oluşturmak için kullanılır.
verboseboolTrueEğer True ise, sınıf başına metrikler, yığın ilerlemesi ve ek hata ayıklama bilgileri dahil olmak üzere doğrulama süreci sırasında ayrıntılı bilgi görüntüler.
save_txtboolFalseEğer True ise, tespit sonuçlarını görüntü başına bir dosya olacak şekilde metin dosyalarına kaydeder; bu, daha ileri analiz, özel son işlem veya diğer sistemlerle entegrasyon için faydalıdır.
save_confboolFalseEğer True ise, save_txt etkinleştirildiğinde 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şlemesini hızlandırabilir ancak CPU kullanımını artırabilir. 0 olarak ayarlanması ana iş parçacığını kullanır, bu da 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ümleri üzerinde çıkarım çalıştırarak, çıkarım hızı maliyetiyle tespit doğruluğunu potansiyel olarak artırır.
agnostic_nmsboolFalseTahmin edilen sınıflarından bağımsız olarak örtüşen kutuları birleştiren sınıftan bağımsız Maksimum Olmayan Bastırma özelliğini etkinleştirir. Örnek odaklı uygulamalar için kullanışlıdır. Uçtan uca modeller için (YOLO26, YOLOv10) bu yalnızca aynı deteksiyonun 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. İkili tespit görevlerinde veya sınıf ayrımlarının önemli olmadığı durumlarda model performansını değerlendirmek için yararlı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 temiz bir görünümü için False olarak ayarlayın.
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 temiz bir görünümü için False olarak ayarlayın.
compilebool veya strFalsePyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True"default", False → devre dışı bırakma veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa bir uyarı ile eager moduna geri döner.
channels_lastboolFalseDoğrulama sırasındaki evrişimler için channels_last (NHWC) bellek biçimini kullanır, sonuçlarda hiçbir değişiklik olmadan CUDA Tensor Core GPU'ları hızlandırır. Yalnızca yerel PyTorch modelleri için geçerlidir; CPU, MPS ve TensorRT ile ONNX gibi dışarı aktarılan biçimler için yok sayılır.
end2endboolNoneNMS içermeyen çıkarımı destekleyen YOLO modellerinde uçtan uca modu geçersiz kılar (YOLO26, YOLOv10). Bunu False olarak ayarlamak, geleneksel NMS boru hattını kullanarak doğrulama çalıştırmanıza olanak tanır ve ayrıca iou argümanını kullanmanıza imkan sağlar.

Optimum performansın sağlanması ve aşırı öğrenmenin tespit edilip önlenmesi için dikkatli ayarlama ve deneme yapılması çok önemlidir.

Doğrulama Kılavuzu

Dışa Aktarma Ayarları#

YOLO modelleri için dışa aktarma ayarları, modelin farklı ortamlarda kullanılması için kaydedilmesine veya dışa aktarılmasına yönelik yapılandırmaları içerir. Bu ayarlar performansı, boyutu ve uyumluluğu etkiler. Temel ayarlar arasında dışa aktarılan dosya formatı (örneğin, ONNX, TensorFlow SavedModel), hedef cihaz (örneğin, CPU, GPU) ve maskeler gibi özellikler bulunur. Modelin görevi ve hedef ortamın kısıtlamaları da dışa aktarma sürecini etkiler.

ArgümanTipVarsayılanAçıklama
formatstr'torchscript''onnx', 'torchscript', 'engine' (TensorRT) veya diğerleri gibi dışa aktarılan model için hedef format. Her format farklı dağıtım ortamlarıyla uyumluluk sağlar.
imgszint veya tuple640Model girdisi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı (örn. 640×640 için 640) veya belirli boyutlar için (height, width) demeti olabilir.
kerasboolFalseTensorFlow SavedModel için Keras formatına dışa aktarmayı etkinleştirerek TensorFlow sunumu ve API'leri ile uyumluluk sağlar.
optimizeboolFalseDEEPX için daha yüksek derleyici optimizasyonunu etkinleştirerek, derleme süresini artırırken çıkarım gecikmesini azaltır.
quantizeint veya strNoneNiceleme hassasiyeti: 16 (FP16, model boyutunu küçültür ve desteklenen donanımda çıkarımı hızlandırabilir) veya 8 (INT8/PTQ, minimum doğruluk kaybıyla modeli daha da sıkıştırır, öncelikle uç cihazlar içindir; kalibrasyon gerektirir data/fraction); 32/belirtilmemişse FP32'dir. Karışık ağırlık/aktivasyon hassasiyetini destekleyen dışa aktarma formatları ayrıca 'w8a8'/'w16a16'/'w8a16'/'w8a32' gösterimini 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 aktarımları için dinamik giriş boyutlarına izin vererek değişen görüntü boyutlarını işlemede esnekliği artırır.
simplifyboolTrueBir tane oluşturan dışa aktarmalar için ara ONNX grafiğini onnxslim ile basitleştirir (Dışa Aktarma Formatlarına bakın), bu da performansı ve çıkarım motorlarıyla uyumluluğu potansiyel olarak artırır.
opsetintNoneFarklı ONNX ayrıştırıcıları ve çalışma zamanları ile uyumluluk için bir ONNX grafiği oluşturan dış aktarımlar (bkz. Export Formats) için ONNX opset sürümünü belirtir. Ayarlanmazsa, desteklenen en son sürüm kullanılır.
workspacefloat veya NoneNoneBellek kullanımı ile performansı dengeleyerek TensorRT optimizasyonları için GiB cinsinden maksimum çalışma alanı boyutunu ayarlar. TensorRT tarafından cihaz maksimumuna kadar otomatik tahsis için None kullanın.
nmsboolFalseDesteklendiğinde dışa aktarılan modele Maksimum Olmayan Bastırma (NMS) ekler (Dışa Aktarma Formatlarına bakın), tespit son işleme verimliliğini artırır. Uçtan uca modeller için kullanılamaz. CoreML için yalnızca tespit modelleri desteklenir.
batchint1Dışa aktarılan model yığın çıkarım boyutunu veya dışa aktarılan modelin predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir. Edge TPU dışa aktarımları için bu otomatik olarak 1 olarak ayarlanır.
devicestrNoneDışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silikon 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 aktarımları otomatik olarak GPU kullanır, ancak TensorRT 11.0 DLA'yı desteklemez.
datastrNoneINT8 niceleme kalibrasyonu için gerekli olan veri kümesi yapılandırma dosyasına giden yol. INT8 etkinken belirtilmediğinde Ultralytics, gerektiğinde göreve özel bir kalibrasyon veri kümesi seçer veya model görevi için varsayılan veri kümesine geri döner.
fractionfloat1.0INT8 nicemleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Deneyler veya kaynakların sınırlı olduğu durumlar için yararlı olan tam veri kümesinin bir alt kümesinde kalibrasyona izin verir. INT8 etkinleştirildiğinde belirtilmezse, veri kümesinin tamamı kullanılır.
end2endboolNoneNMS içermeyen çıkarımı destekleyen YOLO modellerinde uçtan uca modu geçersiz kılar (YOLO26, YOLOv10). Bunu False olarak ayarlamak, bu modelleri geleneksel NMS tabanlı son işlem boru hattıyla uyumlu olacak şekilde dışa aktarmanıza olanak tanır. Ayrıntılar için Uçtan Uca Tespit kılavuzuna bakın.

Düşünceli yapılandırma, dışa aktarılan modelin kullanım durumu için optimize edilmesini ve hedef ortamda etkili bir şekilde çalışmasını sağlar.

Dışa Aktarma Kılavuzu

Çözüm Ayarları#

Ultralytics Çözümleri yapılandırma ayarları; nesne sayma, ısı haritası oluşturma, egzersiz takibi, veri analizi, bölge takibi, sıra 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 ayarlamalara olanak tanır.

ArgümanTipVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.
regionlist veya dictNoneİlgi bölgesini tanımlayan noktalar; ya bir (x, y) demetleri listesi ya da birden fazla bölge için bölge adlarını nokta listeleriyle eşleyen bir sözlük (RegionCounter yalnızca). None olduğunda, bölge gerektiren çözümler önceden tanımlanmış bir varsayılana geri döner.
show_inboolTrueVideo akışında giriş sayılarını gösterip göstermemeyi kontrol eden bayrak.
show_outboolTrueVideo akışında çıkış sayılarını gösterip göstermemeyi kontrol eden bayrak.
analytics_typestr'line'Grafik türü, yani line, bar, area veya pie.
colormapintcv2.COLORMAP_DEEPGREENIsı haritası için kullanılacak renk haritası.
json_filestrNoneTüm park koordinatları verilerini içeren JSON dosyasına giden yol.
up_anglefloat145.0'yukarı' pozu için açı eşiği.
kptslist[int]'[6, 8, 10]'Egzersizleri izlemek için kullanılan üç anahtar nokta indeksi listesi. Bu anahtar noktalar; şınav, barfiks, squat ve karın egzersizleri gibi hareketler için omuzlar, dirsekler ve bilekler gibi vücut eklemlerine veya kısımlarına karşılık gelir.
down_angleint90'aşağı' pozu için açı eşiği.
blur_ratiofloat0.50.1 - 1.0 aralığındaki değerlerle bulanıklık yoğunluğunun yüzdesini ayarlar.
crop_dirstr'cropped-detections'Kırpılmış algılamaları depolamak için dizin adı.
recordsint5Güvenlik alarm sistemi ile e-posta tetiklemek için gereken toplam algılama sayısı.
vision_pointtuple[int, int](20, 20)VisionEye Çözümü ile vizyonun nesneleri izleyeceği ve yollar çizeceği nokta.
sourcestrNoneGirdi kaynağına (video, RTSP vb.) giden yol. 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 çizelgeleri için şekil boyutu.
fpsfloat30.0Hız hesaplamaları için 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ü dizinine giden yol.
imgszint640Model çıkarımı için girdi görüntü boyutu.

Çözümler Kılavuzu

Artırma Ayarları#

Veri artırma teknikleri, eğitim verilerine değişkenlik katarak YOLO modelinin sağlamlığını ve performansını artırmak ve modelin daha önce hiç görülmemiş verilere daha iyi genelleme yapmasını sağlamak için çok önemlidir. Aşağıdaki tablo her artırma argümanının amacını ve etkisini özetlemektedir:

ArgümanTipVarsayılanDesteklenen GörevlerAralıkAçıklama
hsv_hfloat0.015detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Görüntünün tonunu renk çarkının bir fraksiyonu kadar ayarlar ve renk değişkenliği katar. Modelin farklı aydınlatma koşullarında genelleme yapmasına yardımcı olur.
hsv_sfloat0.7detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Görüntünün doygunluğunu bir fraksiyon kadar değiştirerek renklerin yoğunluğunu etkiler. Farklı çevresel koşulları simüle etmek için yararlıdır.
hsv_vfloat0.4detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Görüntünün değerini (parlaklığını) bir fraksiyon kadar değiştirir, modelin çeşitli aydınlatma koşullarında iyi performans göstermesine yardımcı olur.
degreesfloat0detect, segment, semantic, depth, pose, obb0.0 - 180Görüntüyü belirtilen derece aralığında rastgele döndürür, böylece 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 kesri kadar yatay ve dikey olarak kaydırır, bu da kısmen görünen nesneleri tespit etmeyi öğrenmeye yardımcı olur.
scalefloat0.5detect, segment, semantic, depth, classify, pose, obb0 - 1Görüntüyü bir kazanç faktörüyle ölçeklendirir, böylece kameradan farklı mesafelerdeki nesneleri simüle eder.
shearfloat0detect, segment, semantic, depth, pose, obb-180 - +180Görüntüyü belirtilen bir derecede eğerek, nesnelerin farklı açılardan görülme etkisini taklit eder.
perspectivefloat0detect, segment, semantic, depth, pose, obb0.0 - 0.001Görüntüye rastgele bir perspektif dönüşümü uygular, modelin 3D uzaydaki nesneleri anlama yeteneğini artırır.
flipudfloat0detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Görüntüyü belirtilen olasılıkla baş aşağı çevirir, 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.0Görüntü kanallarını belirtilen olasılıkla RGB'den BGR'ye çevirir, yanlış kanal sıralamasına karşı dayanıklılığı artırmak için kullanışlıdır.
mosaicfloat1detect, segment, semantic, pose, obb0.0 - 1.0Dört eğitim görüntüsünü bir araya getirerek farklı sahne kompozisyonlarını ve nesne etkileşimlerini simüle eder. Karmaşık sahneleri anlamada oldukça etkilidir.
mixupfloat0detect, segment, semantic, pose, obb0.0 - 1.0İki görüntüyü ve etiketlerini harmanlayarak kompozit bir görüntü oluşturur. Etiket gürültüsü ve görsel değişkenlik ekleyerek 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 korurken kısmi bir karışım oluşturur. Tıkanma senaryoları yaratarak modelin dayanıklılığını artırır.
copy_pastefloat0segment0.0 - 1.0Nesne örneklerini artırmak için nesneleri görüntüler arasında kopyalayıp yapıştırır.
copy_paste_modestrflipsegment-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ı ('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 bölgelerini rastgele siler.
augmentationslistNonedetect, segment, semantic, 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 bir dönüşüm nesneleri listesi kabul eder.

Bu ayarları veri kümesi ve görev gereksinimlerini karşılayacak şekilde düzenleyin. Farklı değerlerle denemeler yapmak, en iyi model performansı için optimal artırma stratejisini bulmaya yardımcı olabilir.

Artırma Kılavuzu

Günlükleme, Kontrol Noktaları ve Çizim Ayarları#

YOLO modeli eğitilirken günlükleme, kontrol noktaları, çizim ve dosya yönetimi önemlidir:

  • Günlüğe Kaydetme (Logging): TensorBoard gibi kütüphaneleri kullanarak veya bir dosyaya yazarak modelin ilerlemesini takip et ve sorunları teşhis et.
  • Kontrol Noktaları: Eğitimi sürdürmek veya farklı yapılandırmalarla denemeler yapmak için modeli düzenli aralıklarla kaydet.
  • Çizim: Matplotlib veya TensorBoard gibi kütüphaneleri kullanarak performansı ve eğitim ilerlemesini görselleştir.
  • Dosya yönetimi: Eğitim sırasında oluşturulan kontrol noktaları, günlük dosyaları ve çizimler gibi dosyaları kolay erişim ve analiz için düzenle.

Bu unsurların etkili yönetimi, ilerlemeyi takip etmeye yardımcı olur ve hata ayıklama ile optimizasyonu kolaylaştırır.

ArgümanVarsayılanAçıklama
projectNoneEğitim çalıştırmalarını kaydetmek için kök dizini belirtir. Belirtilmemişse, çalıştırmalar runs/<task> altına kaydedilir. Her çalıştırma ayrı bir alt dizine kaydedilir.
nameNoneDeney adını tanımlar. Belirtilmemişse, YOLO mod adını kullanır ve üzerine yazmayı önlemek için her çalıştırma için bunu artırır (örn. train, train-2).
exist_okFalseVarolan bir deney dizininin üzerine yazılıp yazılmayacağını belirler. True üzerine yazmaya izin verir; False bunu engeller.
plotsTrueEğitim ve doğrulama grafiklerinin oluşturulmasını ve kaydedilmesini kontrol eder. Performansın görsel olarak takip edilmesi için kayıp eğrileri, precision-recall eğrileri ve örnek tahminler gibi grafikler 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ı periyodik olarak kaydetmek, eğitimin sürdürülmesine veya modelin dağıtılmasına olanak tanımak için True olarak ayarla.

Özel Yapılandırma Dosyası#

Tüm argüman seti satır içinde geçirilmeden yeniden kullanılmak üzere kaydedilmiş bir YAML yükleyin. cfg argümanı, default.yaml değerlerini geçersiz kılar; bununla birlikte yanında geçirilen ek argümanlar yine de önceliğe sahiptir.

ArgümanVarsayılanAçıklama
cfgNoneDeğerleri default.yaml girdilerinin yerini alan bir YAML dosyasının yolu. Çalışır bir CLI örneği için Varsayılan Yapılandırma Dosyasını Geçersiz Kılma bölümüne göz at.

SSS#

YOLO modelimin eğitim sırasındaki performansını nasıl artırabilirim?#

Yığın boyutu (batch size), öğrenme oranı (learning rate), momentum ve ağırlık sönümlemesi gibi hiperparametreleri ayarlayarak performansı artır. Veri artırma (data augmentation) ayarlarını yapılandır, doğru optimizatörü seç ve erken durdurma veya karışık duyarlık (mixed precision) gibi teknikleri kullan. Ayrıntılar için Eğitim Kılavuzu bölümüne bakın.

YOLO model doğruluğu için anahtar hiperparametreler nelerdir?#

Doğruluğu etkileyen anahtar hiperparametreler şunlardır:

  • Yığın Boyutu (batch): Daha büyük boyutlar eğitimi dengeleyebilir ancak daha fazla bellek gerektirir.
  • Öğrenme Oranı (lr0): Daha küçük oranlar ince ayarlamalar sunar ancak daha yavaş yakınsama sağlar.
  • Momentum (momentum): Gradyan vektörlerini hızlandırarak salınımları azaltır.
  • Görsel Boyutu (imgsz): Daha büyük boyutlar doğruluğu artırır ancak hesaplama yükünü artırır.

Bunları veri setine ve donanıma göre ayarla. Eğitim Ayarları bölümünde daha fazlasını öğren.

YOLO modelini eğitmek için öğrenme oranını nasıl ayarlarım?#

Öğrenme oranı (lr0) çok önemlidir; SGD için 0.01 ile veya Adam optimizer için 0.001 ile başla. Metrikleri izle ve gerektiği gibi ayarla. Kosinüs öğrenme oranı zamanlayıcılarını (cos_lr) veya ısınmayı (warmup_epochs, warmup_momentum) kullan. Ayrıntılar Train Guide içindedir.

YOLO modelleri için varsayılan çıkarım ayarları nelerdir?#

Varsayılan ayarlar şunları içerir:

  • Güven Eşiği (conf=0.25): Algılamalar için minimum güven.
  • IoU Eşiği (iou=0.7): Maksimum Olmayan Bastırma (NMS) için.
  • Görsel Boyutu (imgsz=640): Girdi görsellerini yeniden boyutlandırır.
  • Cihaz (device=None): CPU, GPU, Apple MPS veya Huawei Ascend NPU (npu) seçer.

Tam bir genel bakış için Tahmin Ayarları ve Tahmin Kılavuzu bölümlerine göz at.

YOLO modelleriyle neden karma hassasiyetli eğitim kullanmalıyım?#

Karışık duyarlık 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. Eğitim Kılavuzu bölümünde daha fazlasını öğren.

Yorumlar