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:
yolo TASK MODE ARGSBurada:
TASK(isteğe bağlı) şunlardan biridir: (detect, segment, semantic, depth, classify, pose, obb)MODE(gerekli) şunlardan biridir: (train, val, predict, export, track, benchmark)ARGS(isteğe bağlı), varsayılanları geçersiz kılanimgsz=640gibiarg=valueçiftleridir.
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üman | Varsayılan | Açı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. |
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üman | Varsayılan | Açı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. |
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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Eğ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. |
data | str | None | Veri 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. |
epochs | int | 100 | Toplam 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. |
time | float | None | Saat 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. |
patience | int | 100 | Eğ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. |
batch | int veya float | 16 | Yığı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). |
imgsz | int | 640 | Eğ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. |
save | bool | True | Eğ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_period | int | -1 | Model 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. |
cache | bool | False | Veri 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. |
device | int veya str veya list | None | Eğ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. |
workers | int | 8 | Veri 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. |
project | str | None | Eğitim çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerin düzenli bir şekilde saklanmasına olanak tanır. |
name | str | None | Eğ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_ok | bool | False | Eğ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_dir | str | None | project/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. |
pretrained | bool veya str | True | Eğ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_remap | bool | True | Veri 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. |
optimizer | str | '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. |
seed | int | 0 | Eğitim için rastgele tohum değerini ayarlar, aynı yapılandırmalarla yapılan çalışmalarda sonuçların tekrarlanabilirliğini sağlar. |
deterministic | bool | True | Belirlenmiş 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. |
verbose | bool | True | Eğ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_cls | bool | False | Ç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. |
classes | list[int] | None | Eğ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. |
rect | bool | False | Minimum 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_scale | float | 0.0 | Model 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_lr | bool | False | Epoch'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_mosaic | int | 10 | Tamamlanmadan ö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. |
resume | bool | False | Eğ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. |
amp | bool | True | Otomatik 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. |
fraction | float | 1.0 | Eğ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. |
profile | bool | False | Eğ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. |
freeze | int veya list | None | Modelin 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. |
lr0 | float | 0.01 | Baş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. |
lrf | float | 0.01 | Zaman 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). |
momentum | float | 0.937 | SGD için momentum faktörü veya Adam optimizörleri için beta1, mevcut güncellemada geçmiş gradyanların dahil edilmesini etkiler. |
weight_decay | float | 0.0005 | Aşırı öğrenmeyi önlemek için büyük ağırlıklara ceza veren L2 düzenlileştirme terimi. |
warmup_epochs | float | 3.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_momentum | float | 0.8 | Isınma aşaması için başlangıç momentumu, ısınma süresi boyunca ayarlanan momentuma kademeli olarak uyarlanır. |
warmup_bias_lr | float | 0.1 | Isınma aşamasında sapma (bias) parametreleri için öğrenme oranı, ilk dönemlerde model eğitimini stabilize etmeye yardımcı olur. |
distill_model | str | None | Bilgi 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. |
dis | float | 6.0 | Standart 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. |
box | float | 7.5 | loss 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. |
cls | float | 0.5 | Toplam 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_pw | float | 0.0 | Ters 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. |
dfl | float | 1.5 | Kutu kenar mesafelerini regresyonla hesaplayan bir sınırlayıcı kutu yerelleştirme terimi olan dağılım odak kaybının (DFL) ağırlığı. |
pose | float | 12.0 | Poz tahmini için eğitilen modellerde poz kaybının ağırlığı, poz anahtar noktalarının doğru tahmin edilmesine verilen önemi etkiler. |
kobj | float | 1.0 | Poz tahmini modellerinde anahtar nokta nesnellik (objectness) kaybının ağırlığı, tespit güveni ile poz doğruluğunu dengeler. |
rle | float | 1.0 | Poz tahmini modellerinde artık log-olabilirlik tahmini kaybının ağırlığı, anahtar nokta yerelleştirme hassasiyetini etkiler. |
angle | float | 1.0 | Obb modellerinde açı kaybının ağırlığı, yönlendirilmiş sınırlayıcı kutu açı tahminlerinin hassasiyetini etkiler. |
dlog | float | 1.0 | Derinlik doğruluğunu sağlayan birincil terim olan derinlik tahmini modellerindeki ölçek değişmez logaritmik (SILog) kaybın ağırlığı. |
dgrad | float | 0.5 | Derinlik 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. |
dlam | float | 1.0 | Derinlik 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. |
nbs | int | 64 | Kaybın normalizasyonu için nominal grup boyutu. |
overlap_mask | bool | True | Nesne 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_ratio | int | 4 | Segmentasyon maskeleri için aşağı örnekleme (downsample) oranı, eğitim sırasında kullanılan maskelerin çözünürlüğünü etkiler. |
dropout | float | 0.0 | Sınıflandırma görevlerinde düzenlileştirme için dropout oranı, eğitim sırasında birimleri rastgele atlayarak aşırı öğrenmeyi önler. |
val | bool | True | Eğitim sırasında doğrulamayı etkinleştirerek model performansının ayrı bir veri setinde periyodik olarak değerlendirilmesini sağlar. |
plots | bool | True | Eğ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. |
compile | bool veya str | False | PyTorch 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_last | bool | False | Eğ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_det | int | 300 | Eğitimin doğrulama aşamasında tutulan maksimum nesne sayısını belirtir. |
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=-1kullanı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).
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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
source | str veya int veya None | None | Çı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. |
conf | float | 0.25 | Tespitler 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. |
iou | float | 0.7 | Maksimum 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. |
imgsz | int veya tuple | 640 | Letterbox 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. |
rect | bool | True | Eğ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. |
quantize | int veya str | None | Çı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. |
device | str | None | Çı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. |
batch | int | 1 | Çı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_det | int | 300 | Gö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_stride | int | 1 | Video 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_buffer | bool | False | Video 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. |
visualize | bool | False | Tahmin 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. |
augment | bool | False | Tahminler 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_nms | bool | False | Farklı 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. |
classes | list[int] | None | Tahminleri 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_masks | bool | False | Yü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. |
embed | list[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. |
project | str | None | save etkinse tahmin çıktılarının kaydedildiği proje dizininin adı. |
name | str | None | Tahmin ç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. |
stream | bool | False | Tü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. |
verbose | bool | True | Tahmin 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. |
compile | bool veya str | False | PyTorch 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_last | bool | False | Çı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. |
end2end | bool | None | NMS 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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | Eğ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. |
save | bool | False or True | Ek 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_frames | bool | False | Videolar 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_txt | bool | False | [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_conf | bool | False | Kaydedilen 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_crop | bool | False | Tespit 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_labels | bool | True | Görsel çıktıda her bir tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar. |
show_conf | bool | True | Her 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_boxes | bool | True | Tespit 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_width | int or None | None | Sı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. |
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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
data | str | None | Veri kümesi yapılandırma dosyasının yolunu belirtir (örn. coco8.yaml). Bu dosya doğrulama verilerinin yolunu içermelidir. |
imgsz | int | 640 | Girdi 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. |
batch | int | 16 | Yığı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_json | bool | False | Eğ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. |
conf | float | 0.001 | Tespitler 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. |
iou | float | 0.7 | Non-Maximum Suppression için Intersection Over Union eşiğini ayarlar. Yinelenen tespitlerin ortadan kaldırılmasını kontrol eder. |
max_det | int | 300 | Gö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. |
quantize | int veya str | None | Doğ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. |
device | str | None | Doğ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. |
dnn | bool | False | Eğer True ise, ONNX modeli çıkarımı için OpenCV DNN modülünü kullanarak PyTorch çıkarım yöntemlerine bir alternatif sunar. |
plots | bool | True | True 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. |
classes | list[int] | None | Değ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. |
rect | bool | True | Eğ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. |
split | str | '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. |
project | str | None | Doğrulama çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerden veya modellerden gelen sonuçları düzenlemeye yardımcı olur. |
name | str | None | Doğ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. |
verbose | bool | True | Eğ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_txt | bool | False | Eğ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_conf | bool | False | Eğ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. |
workers | int | 8 | Veri 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. |
augment | bool | False | Doğ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_nms | bool | False | Tahmin 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_cls | bool | False | Doğ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. |
visualize | bool | False | Her 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_labels | bool | True | visualize=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_conf | bool | True | visualize=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. |
compile | bool veya str | False | PyTorch 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_last | bool | False | Doğ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. |
end2end | bool | None | NMS 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.
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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
format | str | '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. |
imgsz | int veya tuple | 640 | Model 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. |
keras | bool | False | TensorFlow SavedModel için Keras formatına dışa aktarmayı etkinleştirerek TensorFlow sunumu ve API'leri ile uyumluluk sağlar. |
optimize | bool | False | DEEPX için daha yüksek derleyici optimizasyonunu etkinleştirerek, derleme süresini artırırken çıkarım gecikmesini azaltır. |
quantize | int veya str | None | Niceleme 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=True → 16, int8=True → 8, 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). |
dynamic | bool | False | TorchScript, 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. |
simplify | bool | True | Bir 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. |
opset | int | None | Farklı 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. |
workspace | float veya None | None | Bellek 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. |
nms | bool | False | Desteklendiğ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. |
batch | int | 1 | Dış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. |
device | str | None | Dış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. |
data | str | None | INT8 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. |
fraction | float | 1.0 | INT8 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. |
end2end | bool | None | NMS 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.
Çö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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasına giden yol. |
region | list veya dict | None | İ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_in | bool | True | Video akışında giriş sayılarını gösterip göstermemeyi kontrol eden bayrak. |
show_out | bool | True | Video akışında çıkış sayılarını gösterip göstermemeyi kontrol eden bayrak. |
analytics_type | str | 'line' | Grafik türü, yani line, bar, area veya pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Isı haritası için kullanılacak renk haritası. |
json_file | str | None | Tüm park koordinatları verilerini içeren JSON dosyasına giden yol. |
up_angle | float | 145.0 | 'yukarı' pozu için açı eşiği. |
kpts | list[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_angle | int | 90 | 'aşağı' pozu için açı eşiği. |
blur_ratio | float | 0.5 | 0.1 - 1.0 aralığındaki değerlerle bulanıklık yoğunluğunun yüzdesini ayarlar. |
crop_dir | str | 'cropped-detections' | Kırpılmış algılamaları depolamak için dizin adı. |
records | int | 5 | Güvenlik alarm sistemi ile e-posta tetiklemek için gereken toplam algılama sayısı. |
vision_point | tuple[int, int] | (20, 20) | VisionEye Çözümü ile vizyonun nesneleri izleyeceği ve yollar çizeceği nokta. |
source | str | None | Girdi kaynağına (video, RTSP vb.) giden yol. Yalnızca Çözümler komut satırı arayüzü (CLI) ile kullanılabilir. |
figsize | tuple[float, float] | (12.8, 7.2) | Isı haritaları veya grafikler gibi analitik çizelgeleri için şekil boyutu. |
fps | float | 30.0 | Hız hesaplamaları için kullanılan saniye başına kare sayısı. |
max_hist | int | 5 | Hız/yön hesaplamaları için nesne başına izlenecek maksimum geçmiş nokta sayısı. |
meter_per_pixel | float | 0.05 | Piksel mesafesini gerçek dünya birimlerine dönüştürmek için kullanılan ölçeklendirme faktörü. |
max_speed | int | 120 | Görsel katmanlardaki maksimum hız sınırı (uyarılarda kullanılır). |
data | str | 'images' | Benzerlik araması için kullanılan görüntü dizinine giden yol. |
imgsz | int | 640 | Model çıkarımı için girdi görüntü boyutu. |
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üman | Tip | Varsayılan | Desteklenen Görevler | Aralık | Açıklama |
|---|---|---|---|---|---|
hsv_h | float | 0.015 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Gö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_s | float | 0.7 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Gö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_v | float | 0.4 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Gö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. |
degrees | float | 0 | detect, segment, semantic, depth, pose, obb | 0.0 - 180 | Gö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. |
translate | float | 0.1 | detect, segment, semantic, depth, pose, obb | 0.0 - 1.0 | Gö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. |
scale | float | 0.5 | detect, segment, semantic, depth, classify, pose, obb | 0 - 1 | Görüntüyü bir kazanç faktörüyle ölçeklendirir, böylece kameradan farklı mesafelerdeki nesneleri simüle eder. |
shear | float | 0 | detect, segment, semantic, depth, pose, obb | -180 - +180 | Görüntüyü belirtilen bir derecede eğerek, nesnelerin farklı açılardan görülme etkisini taklit eder. |
perspective | float | 0 | detect, segment, semantic, depth, pose, obb | 0.0 - 0.001 | Görüntüye rastgele bir perspektif dönüşümü uygular, modelin 3D uzaydaki nesneleri anlama yeteneğini artırır. |
flipud | float | 0 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Görüntüyü belirtilen olasılıkla baş aşağı çevirir, nesnenin özelliklerini etkilemeden veri değişkenliğini artırır. |
fliplr | float | 0.5 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Gö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. |
bgr | float | 0 | detect, segment, semantic, depth, pose, obb | 0.0 - 1.0 | Gö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. |
mosaic | float | 1 | detect, segment, semantic, pose, obb | 0.0 - 1.0 | Dö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. |
mixup | float | 0 | detect, segment, semantic, pose, obb | 0.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. |
cutmix | float | 0 | detect, segment, pose, obb | 0.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_paste | float | 0 | segment | 0.0 - 1.0 | Nesne örneklerini artırmak için nesneleri görüntüler arasında kopyalayıp yapıştırır. |
copy_paste_mode | str | flip | segment | - | Kullanılacak copy-paste stratejisini belirtir. Seçenekler arasında 'flip' ve 'mixup' bulunur. |
auto_augment | str | randaugment | classify | - | Görsel çeşitlilik yoluyla model performansını artırmak için önceden tanımlanmış bir artırma politikası ('randaugment', 'autoaugment' veya 'augmix') uygular. |
erasing | float | 0.4 | classify | 0.0 - 1.0 | Modelin 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. |
augmentations | list | None | detect, 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.
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üman | Varsayılan | Açıklama |
|---|---|---|
project | None | Eğ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. |
name | None | Deney 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_ok | False | Varolan bir deney dizininin üzerine yazılıp yazılmayacağını belirler. True üzerine yazmaya izin verir; False bunu engeller. |
plots | True | Eğ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. |
save | True | Eğ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üman | Varsayılan | Açıklama |
|---|---|---|
cfg | None | Değ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.