Yapılandırma#
YOLO ayarları ve hiperparametreleri, modelin performansında, hızında ve doğruluğunda kritik rol oynar. Bu ayarlar, eğitim, doğrulama ve tahmin dahil olmak üzere çeşitli aşamalarda modelin davranışını etkileyebilir.
İzle: Ultralytics YOLO'da Uzmanlaşma: Yapılandırma
Ultralytics komutları şu sözdizimini kullanır:
yolo TASK MODE ARGSBurada:
TASK(isteğe bağlı) şunlardan biridir: (algılama, segmentasyon, anlamsal, derinlik, sınıflandırma, poz, obb)MODE(gerekli) şunlardan biridir: (eğitim, doğrulama, tahmin, dışa aktarma, izleme, karşılaştırma)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 alınır.
Görevler#
Ultralytics YOLO modelleri, aşağıdakiler dahil çeşitli bilgisayarlı görü görevlerini gerçekleştirebilir:
- Algılama: Nesne algılama, bir görüntü veya videodaki nesneleri belirler ve konumlarını saptar.
- Segmentasyon: Örnek segmentasyonu, bir görüntüyü veya videoyu farklı nesnelere ya da sınıflara karşılık gelen bölgelere ayırır.
- Anlamsal segmentasyon (
semantic): Anlamsal segmentasyon, yoğun sahne anlayışı için bir görüntüdeki her piksele sınıf etiketi atar. - Derinlik (
depth): Tek gözlü derinlik tahmini, tek bir RGB görüntüsünden piksel başına metre cinsinden derinlik haritası tahmin eder. - Sınıflandırma: Görüntü sınıflandırma, giriş görüntüsünün sınıf etiketini tahmin eder.
- Poz: Poz tahmini, bir görüntü veya videodaki nesneleri belirler ve anahtar noktalarını tahmin eder.
- OBB: Yönlendirilmiş sınırlayıcı kutular, uydu veya tıbbi görüntülere uygun, döndürülmüş sınırlayıcı kutular kullanır.
| Bağımsız değişken | Varsayılan | Açıklama |
|---|---|---|
task | 'detect' | YOLO görevini belirtir: nesne tespiti için detect, örnek segmentasyonu için segment, anlamsal segmentasyon için semantic, tek gözlü derinlik tahmini için depth, sınıflandırma için classify, poz tahmini için pose ve yönlendirilmiş sınırlayıcı kutular için obb. Her görev, görüntü ve video analizindeki belirli çıktılara ve problemlere göre tasarlanmıştır. |
Modlar#
Ultralytics YOLO modelleri, her biri model yaşam döngüsünün belirli bir aşaması için tasarlanmış farklı modlarda çalışır:
- Train: Bir YOLO modelini özel bir veri kümesiyle eğit.
- Val: Eğitilmiş bir YOLO modelini doğrula.
- Predict: Yeni görüntüler veya videolar üzerinde tahminler yapmak için eğitilmiş bir YOLO modeli kullan.
- Export: Bir YOLO modelini dağıtım için dışa aktar.
- Track: Bir YOLO modeli kullanarak nesneleri gerçek zamanlı izle.
- Benchmark: YOLO dışa aktarımlarının (ONNX, TensorRT vb.) hızını ve doğruluğunu kıyasla.
| Bağımsız değişken | 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 biçimlerine dönüştürme için export, nesne takibi için track ve performans değerlendirmesi için benchmark. Her mod, geliştirmeden dağıtıma kadar farklı aşamaları destekler. |
Eğitim Ayarları#
YOLO modellerine yönelik eğitim ayarları; modelin performansını, hızını ve doğruluğunu etkileyen hiperparametreleri ve yapılandırmaları içerir. Temel ayarlar arasında yığın boyutu, öğrenme oranı, momentum ve ağırlık azalması bulunur. Optimizasyon algoritması, kayıp fonksiyonu ve veri kümesinin bileşimi de eğitimi etkiler. En iyi performansı elde etmek için ayarlama ve denemeler kritik öneme sahiptir. Daha fazla bilgi için Ultralytics giriş noktası fonksiyonuna bak.
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Eğitim için model dosyasını belirtir. Önceden eğitilmiş bir .pt modele veya .yaml yapılandırma dosyasına giden yolu kabul eder. Model yapısını tanımlamak veya ağırlıkları başlatmak için gereklidir. |
data | str | None | Eğitim ve doğrulama verilerinin yollarını, sınıf adlarını ve sınıf sayısını içeren veri kümesi YAML dosyasının yolu (ör. coco8.yaml). Sınıflandırma için bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı (ör. imagenet10) kullanılır. |
epochs | int | 100 | Toplam eğitim turu sayısı. Her tur, tüm veri kümesinin baştan sona bir kez işlenmesini ifade eder. Bu değerin ayarlanması eğitim süresini ve model performansını etkileyebilir. |
time | float | None | Saat cinsinden maksimum eğitim süresi. Ayarlanırsa epochs bağımsız değişkenini geçersiz kılar ve eğitimin belirtilen süreden sonra otomatik olarak durmasını sağlar. Zaman kısıtlaması olan eğitim senaryolarında kullanışlıdır. |
patience | int | 100 | Eğitimin erken durdurulmasından önce doğrulama metriklerinde iyileşme olmadan beklenecek tur sayısı. Performans sabitlendiğinde eğitimi durdurarak aşırı öğrenmeyi önlemeye yardımcı olur. |
batch | int veya float | 16 | Yığın boyutu için üç mod bulunur: bir tam sayı (ör. batch=16) olarak ayarlama, GPU belleğinin %60'ını kullanmaya yönelik otomatik mod (batch=-1) veya kullanım oranı belirtilen otomatik mod (batch=0.70). |
imgsz | int | 640 | Eğitim için hedef görüntü boyutu. Görüntüler, kenar uzunlukları belirtilen değere eşit karelere yeniden boyutlandırılır (rect=False ise); YOLO modellerinde en-boy oranı korunur, RT-DETR'de korunmaz. Model doğruluğunu ve hesaplama karmaşıklığını etkiler. |
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ığını tur cinsinden belirtir. -1 değeri bu özelliği devre dışı bırakır. Uzun eğitim süreçlerinde ara modelleri kaydetmek için kullanışlıdır. |
cache | bool veya str | False | Veri kümesi görüntülerinin bellekte (True/ram) veya diskte (disk) önbelleğe alınmasını sağlar ya da önbelleğe almayı devre dışı bırakır (False). Bellek kullanımını artırma pahasına disk G/Ç işlemlerini azaltarak eğitim hızını artırır. |
device | int veya str veya list | None | Eğitim için hesaplama aygıtlarını belirtir: tek GPU (device=0), birden fazla GPU (device=[0,1]), CPU (device=cpu), Apple silicon için MPS (device=mps), Huawei Ascend NPU (device=npu:0 veya device=npu:0,1), Intel XPU (device=xpu:0), boşta olan GPU'yu (device=-1) veya birden fazla boşta GPU'yu (device=[-1,-1]) otomatik seçme. |
workers | int | 8 | Veri yüklemeye yönelik iş parçacığı sayısı (çoklu GPU eğitiminde her RANK için). Veri ön işlemenin ve modele aktarımın hızını etkiler; özellikle çoklu GPU kurulumlarında kullanışlıdır. |
project | str | None | Eğitim çıktılarının kaydedildiği proje dizininin adı. Farklı denemelerin düzenli biçimde saklanmasını sağlar. |
name | str | None | Eğitim çalışmasının adı. Eğitim günlüklerinin ve çıktılarının saklandığı proje klasöründe bir alt dizin oluşturmak için kullanılır. |
exist_ok | bool | False | True ise mevcut bir proje/ad dizininin üzerine yazılmasını sağlar. Önceki çıktıları elle temizlemeye gerek kalmadan yinelemeli denemeler yapmayı kolaylaştırır. |
save_dir | str | None | Çalışma çıktılarının kaydedileceği tam dizini belirtir ve project/name birleşimini geçersiz kılar. Yol olduğu gibi kullanılır, otomatik olarak numaralandırılmaz; bu nedenle art arda yapılan çalışmalar aynı dizini kullanır. |
pretrained | bool veya str | True | Eğitimin önceden eğitilmiş ağırlıklarla başlatılıp başlatılmayacağını belirler. Boole değeri veya yüklenecek ağırlıklara giden bir yol olarak belirtilebilir. pretrained=False, model mimarisini korurken rastgele başlatılmış ağırlıklarla eğitim yapar. |
cls_remap | bool | True | Veri kümeleri arasında ince ayar yaparken, sınıf adları eşleştiği durumlarda önceden eğitilmiş sınıflandırma başlığı satırlarını yeni modele kopyalar; böylece örtüşen sınıflar öğrendikleri bias değerlerini ve başlık genişliği değişmediğinde ağırlıklarını da korur. Sınıf sayıları farklı olsa da aynı olup sınıf sıraları değişse de uygulanır. |
optimizer | str | 'auto' | Eğitim için kullanılacak optimizasyon algoritmasını seçer. Seçenekler arasında SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp veya eğitim yineleme sayısına göre AdamW ya da MuSGD seçmek için auto bulunur. Yakınsama hızını ve kararlılığını etkiler. |
seed | int | 0 | Eğitim için rastgelelik tohumunu ayarlayarak aynı yapılandırmalarla yapılan çalışmalarda sonuçların yeniden üretilebilir olmasını sağlar. |
deterministic | bool | True | Belirleyici algoritmaların kullanılmasını zorunlu kılar. Bu, yeniden üretilebilirliği sağlar ancak belirleyici olmayan algoritmaların kısıtlanması nedeniyle performansı ve hızı etkileyebilir. |
verbose | bool | True | Eğitim sırasında ayrıntılı çıktıyı etkinleştirir; ilerleme çubuklarını, her tur için metrikleri ve ek eğitim bilgilerini konsolda görüntüler. |
single_cls | bool | False | Çok sınıflı veri kümelerindeki tüm sınıfları eğitim sırasında tek bir sınıf olarak ele alır. İkili sınıflandırma görevlerinde veya sınıflandırma yerine nesnenin varlığına odaklanırken kullanışlıdır. |
classes | list[int] | None | Eğitim yapılacak sınıf kimliklerinin listesini belirtir. Eğitim sırasında belirli sınıfları filtreleyip yalnızca bunlara odaklanmak için kullanışlıdır. |
rect | bool | False | Minimum dolgu stratejisini etkinleştirir: bir yığındaki görüntüler, en uzun kenar imgsz olacak şekilde ortak boyuta ulaşmaları için en az miktarda dolguyla tamamlanır. Verimliliği ve hızı artırabilir ancak model doğruluğunu etkileyebilir. |
multi_scale | float | 0.0 | Her yığında imgsz değerini +/- multi_scale kadar rastgele değiştirir (ör. 0.25 -> 0.75x ile 1.25x arasına); model adım boyutunun katlarına yuvarlar. 0.0, çok ölçekli eğitimi devre dışı bırakır. |
cos_lr | bool | False | Kosinüs öğrenme oranı zamanlayıcısı kullanır ve öğrenme oranını turlar boyunca kosinüs eğrisini izleyerek ayarlar. Daha iyi yakınsama için öğrenme oranını yönetmeye yardımcı olur. |
close_mosaic | int | 10 | Eğitim tamamlanmadan önce kararlılığı artırmak için son N turda mozaik veri artırmayı devre dışı bırakır. 0 olarak ayarlanması bu özelliği kapatır. |
resume | bool | False | Eğitime kaydedilmiş son kontrol noktasından devam eder. Model ağırlıklarını, optimizasyon algoritmasının durumunu ve tur sayısını otomatik yükleyerek eğitimi kesintisiz sürdürür. |
amp | bool veya str | True | Eğitim duyarlığını ayarlar: True veya "fp16" FP16 kullanır, "bf16" desteklenen CUDA aygıtlarında BF16 kullanır, False veya "fp32" ise FP32 kullanır. |
quantize | int veya str | None | INT8 nicelik duyarlı eğitim (QAT) için 8 (veya "int8") olarak ayarla. Bu yöntem, ağırlıkların INT8 dışa aktarımını desteklemesi için eğitim döngüsünde sahte nicemleme kullanarak ince ayar yapar. Nicelik Duyarlı Eğitim sayfasına bak. |
fraction | float, int veya list | 1.0 | Veri kümesinin alt kümesini oran/sayı veya [train, val, test] listesi olarak belirtir. 1 tüm bölümü ifade eder, 1 üzerindeki tam sayılar görüntü sayısıdır ve yalnızca isteğe bağlı test girdisi yok anlamına gelen 0/0.0 değerlerini kabul eder. İki öğeli listeler test bölümünün tamamını korur. |
profile | bool | False | Model dağıtımını optimize etmek için kullanışlı olan ONNX ve TensorRT hızlarının eğitim sırasında profillenmesini sağlar. |
freeze | int veya list | None | Modelin ilk N katmanını veya dizine ya da modül adına göre belirli katmanları (23.cv2, baştaki model. olmadan) dondurarak eğitilebilir parametre sayısını azaltır. İnce ayar veya aktarım öğrenimi için kullanışlıdır. |
lr0 | float | 0.01 | İlk öğrenme oranı (yani SGD=1E-2, Adam=1E-3). Varsayılan optimizer='auto' altında yok sayılır; kullanmak için bir optimizasyon algoritmasını açıkça belirt. |
lrf | float | 0.01 | Son öğrenme oranını ilk oranın kesri olarak ayarlar = (lr0 * lrf); zaman içinde öğrenme oranını ayarlamak için zamanlayıcılarla birlikte kullanılır. |
momentum | float | 0.937 | SGD için momentum faktörü veya Adam optimizasyon algoritmaları için beta1 değeridir; geçmiş gradyanların mevcut güncellemeye ne ölçüde katılacağını etkiler. |
weight_decay | float | 0.0005 | Aşırı öğrenmeyi önlemek için büyük ağırlıkları cezalandıran L2 düzenlileştirme terimi. |
warmup_epochs | float | 3.0 | Öğrenme oranı ısınma süresinin tur sayısı. Eğitimin başlangıcında kararlılık sağlamak için öğrenme oranını düşük bir değerden ilk öğrenme oranına kademeli olarak yükseltir. |
warmup_momentum | float | 0.8 | Isınma aşamasının başlangıç momentumu; ısınma süresi boyunca ayarlanan momentuma kademeli olarak ulaşır. |
warmup_bias_lr | float | 0.1 | Isınma aşamasında bias parametreleri için öğrenme oranı; ilk turlarda model eğitimini kararlı hâle getirmeye yardımcı olur. Varsayılan optimizer='auto' altında otomatik olarak 0.0 değerine ayarlanır; kullanmak için bir optimizasyon algoritmasını açıkça belirt. |
distill_model | str | None | Bilgi damıtma için öğretmen modeli kontrol noktası yolu (ör. yolo26x.pt). Ayarlandığında öğrenci modeli, dondurulmuş öğretmenin yönlendirdiği ek bir damıtma kaybıyla eğitilir. |
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 | Kayıp fonksiyonundaki kutu kaybı bileşeninin ağırlığı; sınırlayıcı kutu koordinatlarını doğru tahmin etmeye ne kadar önem verileceğini belirler. |
cls | float | 0.5 | Toplam kayıp fonksiyonundaki sınıflandırma kaybının ağırlığı; diğer bileşenlere kıyasla doğru sınıf tahmininin önemini etkiler. |
cls_pw | float | 0.0 | Ters sınıf sıklığını kullanarak sınıf dengesizliğini ele almak için sınıf ağırlıklandırma kuvveti. 0.0 sınıf ağırlıklandırmasını devre dışı bırakır, 1.0 tam ters sıklık ağırlıklandırması uygular. 0 ile 1 arasındaki değerler kısmi ağırlıklandırma sağlar. |
dfl | float | 1.5 | Kutu uzaklığı regresyon teriminin ağırlığı: tespit başlığı reg_max > 1 kullanıyorsa dağılım odaklı kayıp (DFL), DFL içermeyen YOLO26'da (reg_max: 1) normalize edilmiş kutu uzaklıkları üzerinde L1 kaybı. |
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 modellerindeki anahtar nokta nesne olasılığı kaybının ağırlığı; tespit güveniyle poz doğruluğu arasında denge kurar. |
rle | float | 1.0 | Poz tahmini modellerindeki artık log-olabilirlik tahmini kaybının ağırlığı; anahtar noktaların konumlandırma hassasiyetini etkiler. |
angle | float | 1.0 | OBB modellerindeki açı kaybının ağırlığı; yönlendirilmiş sınırlayıcı kutu açısı tahminlerinin hassasiyetini etkiler. |
dlog | float | 1.0 | Derinlik tahmini modellerinde ölçekten bağımsız logaritmik (SILog) kaybın ağırlığı; derinlik doğruluğunu belirleyen temel terimdir. |
dgrad | float | 0.5 | Derinlik tahmini modellerindeki gradyan kaybının ağırlığı; derinlik kenarlarındaki hataları cezalandırır ve yüzey sınırlarının daha keskin olmasını sağlar. |
dlam | float | 1.0 | Derinlik tahmini modellerinde SILog kaybının varyans odaklama faktörü. 1.0, kaybı tamamen ölçekten bağımsız hâle getirirken 0.0 kaybı standart log-RMSE'ye indirger. |
nbs | int | 64 | Kayıp normalizasyonu için nominal yığın boyutu. |
overlap_mask | bool | True | Nesne maskelerinin eğitim için tek bir maskede birleştirilip birleştirilmeyeceğini veya her nesne için ayrı tutulup tutulmayacağını belirler. Maskeler örtüştüğünde birleştirme sırasında küçük maske büyük maskenin üzerine yerleştirilir. |
mask_ratio | int | 4 | Eğitim sırasında kullanılan maskelerin çözünürlüğünü etkileyen segmentasyon maskesi alt örnekleme oranı. Tahmin edilen maskelerin çözünürlüğünü değiştirmez. |
dropout | float | 0.0 | Sınıflandırma görevlerinde düzenlileştirme için kullanılan dropout oranı; eğitim sırasında birimleri rastgele devre dışı bırakarak aşırı öğrenmeyi önler. |
val | bool | True | Eğitim sırasında doğrulamayı etkinleştirerek model performansının ayrı bir veri kümesinde düzenli olarak değerlendirilmesini sağlar. |
nms | bool, isteğe bağlı | None | Tur doğrulaması, kontrol noktası seçimi ve erken durdurma için kullanılan çıkarım başlığını seçer. None veya True, NMS ile bire-çok başlığını kullanır; False ise kullanılabilir olduğunda NMS içermeyen başlığı kullanır. Her iki başlık da eğitim kayıplarını korur. |
plots | bool | True | Eğitim ve doğrulama metriklerinin yanı sıra tahmin örneklerinin grafiklerini oluşturup kaydederek model performansı ve öğrenme ilerleyişi hakkında görsel bilgiler sunar. |
compile | bool veya str | False | PyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True → "default", devre dışı bırakmak için False veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa uyarı vererek eager moda geri döner. |
channels_last | bool | None | Eğitim sırasında evrişimler için channels_last (NHWC) bellek biçimini kullanır. None, daha yavaş olduğu ölçüldüğünden Windows dışında PyTorch 1.11 veya daha yenisiyle CUDA'da bunu otomatik etkinleştirir. False devre dışı bırakır, True ise açıkça etkinleştirilmesini ister. CPU veya MPS üzerinde eğitim her zaman NCHW biçiminde kalır (True uyarıyla yok sayılır). |
max_det | int | 300 | Eğitim doğrulaması sırasında görüntü başına en fazla tespit sayısı. Detect, segment, pose ve OBB için varsayılan 300 değeri, yalnızca eğitim/doğrulama etiketli nesne sayısı 300'ü aştığında bu en yüksek sayıya çıkar. Diğer değerler sabit kalır; sınırın aşılması uyarı oluşturur. |
batch bağımsız değişkeni üç yapılandırma seçeneği sunar:
- Sabit Yığın Boyutu: Yığın başına görüntü sayısını bir tam sayıyla belirt (ör.
batch=16). - Otomatik Mod (%60 GPU Belleği): CUDA bellek kullanımını yaklaşık %60'a otomatik ayarlamak için
batch=-1kullan. - Kullanım Oranlı Otomatik Mod: Belirtilen GPU bellek kullanımına göre ayarlama yapmak için bir oran belirle (ör.
batch=0.70). - Uygun Boyut Bulunamadı: Kullanılabilir bir profil sağlayan aday yığın boyutu bulunamazsa AutoBatch, ilgisiz bir varsayılan değere sessizce dönmek yerine anlaşılır bir
RuntimeErrorhatası verir.
Tahmin Ayarları#
YOLO modellerinin tahmin ayarları, çıkarım sırasında performansı, hızı ve doğruluğu etkileyen hiperparametreleri ve yapılandırmaları içerir. Temel ayarlar arasında güven eşiği, Maksimum Olmayan Bastırma (NMS) eşiği ve sınıf sayısı bulunur. Girdi verisinin boyutu ve biçimi ile maskeler gibi ek özellikler de tahminleri etkiler. En iyi performansı elde etmek için bu ayarları düzenlemek önemlidir.
Çıkarım bağımsız değişkenleri:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
source | str veya int veya None | None | Çıkarım için veri kaynağını belirtir. Görüntü yolu, video dosyası, dizin, URL veya canlı akışlar için aygıt kimliği olabilir. Belirtilmezse günlüğe bir uyarı yazılır ve model yerleşik demo varlıklarına (ultralytics/assets veya OBB için bir demo URL'si) geri döner. Farklı girdi türlerini destekleyerek esnek kullanım sağlar. |
conf | float | 0.25 | Tespitler için minimum güven eşiğini ayarlar. Bu eşiğin altındaki güven değerleriyle tespit edilen nesneler göz ardı edilir. Bu değeri ayarlamak yanlış pozitifleri azaltmaya yardımcı olabilir. |
iou | float | 0.7 | Maksimum Olmayan Bastırma (NMS) için Kesişim/Birleşim (IoU) eşiği. Daha düşük değerler, örtüşen kutuları eleyerek tespit sayısını azaltır; bu da yinelenen tespitleri azaltmak için kullanışlıdır. |
imgsz | int veya tuple | 640 | Letterbox hedefi. Bir tam sayı kare N×N, bir demet ise (height, width) verir. rect=True ile minimum dikdörtgen dolgusu nedeniyle gerçek tensör bu hedeften daha küçük olabilir. Sabit boyut için rect=False kullan. Sabit şekil ve minimum dikdörtgen konusuna bak. |
rect | bool | True | True ise mümkün olduğunda minimum dikdörtgen dolgusu kullanılır (aynı şekilli yığın ve desteklenen arka uç). False ise her zaman imgsz tam boyutuna kadar dolgu yapılır. Sabit şekil ve minimum dikdörtgen konusuna bak. |
quantize | int veya str | None | Çıkarım duyarlığı: 16/"fp16" ile 32/"fp32"/boş bırakma, PyTorch ve TorchScript modellerinde FP16 veya FP32 hesaplamayı seçer; diğer biçimler, yapıt ve çalışma ortamının seçtiği duyarlıkta hesaplama yapar. 16 değerinde OpenVINO, çalışma ortamının hesaplama duyarlığını değiştirmeden istemcide girdiyi yine FP16'ya yuvarlar ve sonra FP32'ye genişletir. INT8/PTQ nicemlemesi dışa aktarma sırasında yapılandırılır, ardından dışa aktarılan model yüklenerek kullanılır. Kullanımdan kaldırılan half bayrağının yerini alır. |
device | str | None | Çıkarım için aygıtı belirtir (ör. cpu, cuda:0, 0, npu veya npu:0). Modeli çalıştırmak için CPU, belirli bir GPU, Huawei Ascend NPU veya başka hesaplama aygıtları arasından seçim yapmayı sağlar. |
dnn | bool | False | True ise ONNX model çıkarımı için ONNX Runtime yerine OpenCV DNN modülünü kullanır. |
data | str | None | Bir veri kümesi YAML dosyasının yolu (örn. coco8.yaml); yalnızca names için okunur ve yalnızca yüklenen modelin kendi sınıf adları yoksa kullanılır: üçüncü taraf bir dışa aktarım veya birlikte sunulan meta verilerden ayrılmış bir Ultralytics dışa aktarımı. Aksi takdirde bu tür bir model class0, class1 vb. raporlar. |
batch | int | 1 | Çıkarım için toplu iş boyutunu belirtir (yalnızca kaynak bir dizin, video dosyası veya .txt dosyası olduğunda çalışır). Daha büyük bir toplu iş boyutu, verimi artırarak çıkarım için gereken toplam süreyi kısaltabilir. |
max_det | int | 300 | Görüntü başına izin verilen en yüksek algılama sayısı. Modelin tek bir çıkarımda algılayabileceği toplam nesne sayısını sınırlandırarak yoğun sahnelerde aşırı sayıda çıktı oluşmasını önler. |
vid_stride | int | 1 | Video girdileri için kare adımı. Zamansal çözünürlükten ödün vererek videolardaki kareleri atlamanı ve işlemeyi hızlandırmanı sağlar. 1 değeri her kareyi işler; daha yüksek değerler kare atlar. |
stream_buffer | bool | False | Video akışları için gelen karelerin kuyruğa alınıp alınmayacağını belirler. False ise yeni karelere yer açmak için eski kareler düşürülür (gerçek zamanlı uygulamalar için optimize edilmiştir). True ise yeni kareler arabellekte kuyruğa alınır; böylece hiçbir kare atlanmaz, ancak çıkarım FPS'si akış FPS'sinden düşükse gecikme oluşur. |
visualize | bool | False | Her tahminin yanına, tahmin edilen sınıf puanlarını hangi piksellerin yükselttiğini gösteren bir sınıf aktivasyon ısı haritası kaydeder. conf ve classes değerlerini dikkate alır; bu nedenle classes=[0] yalnızca o sınıfı eşler. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir. |
augment | bool | False | Tahminler için test zamanı artırmayı (TTA) etkinleştirir; çıkarım hızından ödün vererek algılama sağlamlığını artırabilir. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir. |
agnostic_nms | bool | False | Sınıftan bağımsız Maksimum Olmayan Bastırmayı (NMS) etkinleştirir; yalnızca aynı sınıf içindekileri değil, farklı sınıflardaki örtüşen kutular arasında puanı daha düşük olanları da bastırır. Sınıf örtüşmesinin yaygın olduğu çok sınıflı algılama senaryolarında kullanışlıdır. NMS'siz çıkarımda (YOLO26 veya YOLOv10'da nms=False), bu ayar yalnızca aynı algılamanın birden fazla sınıf etiketiyle görünmesini önler (IoU=1.0 yinelenenleri); farklı kutular arasında IoU eşiğine dayalı bastırma yapmaz. |
classes | list[int] | None | Tahminleri bir sınıf kimliği kümesine göre filtreler. Yalnızca belirtilen sınıflara ait algılamalar döndürülür. Çok sınıflı algılama görevlerinde ilgili nesnelere odaklanmak için kullanışlıdır. |
retina_masks | bool | False | Yüksek çözünürlüklü segmentasyon maskeleri döndürür. Etkinleştirildiğinde döndürülen maskeler (masks.data) özgün görüntü boyutlarıyla eşleşir. Devre dışı bırakıldığında çıkarım sırasında kullanılan görüntü boyutlarında olur. |
embed | list[int] | None | Özellik vektörlerinin veya gömme vektörlerinin çıkarılacağı katmanları belirtir. Son ikinci katmanın gömme vektörleri için model.embed(source) değerini kullan veya belirli katmanları seçmek için model.predict(source, embed=[layer]) değerini belirt. Kümeleme veya benzerlik arama gibi sonraki görevlerde kullanışlıdır. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir. |
project | str | None | save etkinse tahmin çıktılarının kaydedileceğ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 bir Results nesneleri üreteci döndürerek uzun videoların veya çok sayıda görüntünün bellek açısından verimli biçimde işlenmesini sağlar. |
verbose | bool | True | Tahmin süreci hakkında gerçek zamanlı geri bildirim sağlayarak terminalde ayrıntılı çıkarım günlüklerinin görüntülenip görüntülenmeyeceğini denetler. |
compile | bool veya str | False | PyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True → "default", devre dışı bırakmak için False veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa uyarı vererek eager moda geri döner. |
channels_last | bool | None | Yerel PyTorch çıkarımı için channels_last (NHWC) bellek biçimini kullanır. None, PyTorch 1.13 veya daha yeni sürümlerin yüklü olduğu, oneDNN etkin Linux ve Windows x86 CPU'larda bunu otomatik olarak etkinleştirir; False devre dışı bırakır ve True desteklenen x86 CPU veya CUDA cihazlarında kullanılmasını ister. ARM64, MPS, eski PyTorch sürümleri, oneDNN olmayan CPU'lar ve TensorRT ile ONNX gibi dışa aktarılmış biçimler değişmeden kalır. |
nms | bool, isteğe bağlı | None | Varsayılan olarak NMS ile bire-çok çıkarım yapar (None veya True). Kullanılabiliyorsa NMS'siz bire-bir başlığı kullanmak için False değerini ayarla. Ayrıntılar için Uçtan Uca Algılama kılavuzuna bak. |
Görselleştirme argümanları:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | True ise açıklama eklenmiş görüntüleri veya videoları bir pencerede gösterir. Geliştirme veya test sırasında anında görsel geri bildirim almak için kullanışlıdır. |
save | bool | False or True | Açıklama eklenmiş görüntülerin veya videoların dosyalara kaydedilmesini etkinleştirir. Belgeleme, daha ileri analiz veya sonuçları paylaşmak için kullanışlıdır. CLI kullanıldığında varsayılan değer True, Python'da kullanıldığında False olur. |
save_frames | bool | False | Videolar işlenirken tek tek kareleri görüntü olarak kaydeder. Belirli kareleri çıkarmak veya kare kare ayrıntılı analiz yapmak için kullanışlıdır. |
save_txt | bool | False | Algılama sonuçlarını [class] [x_center] [y_center] [width] [height] [confidence] biçimini izleyerek bir metin dosyasına kaydeder. Diğer analiz araçlarıyla entegrasyon için kullanışlıdır. |
save_conf | bool | False | Kaydedilen metin dosyalarına güven puanlarını ekler. Son işleme ve analiz için kullanılabilir ayrıntıları artırır. |
save_crop | bool | False | Algılamaların kırpılmış görüntülerini kaydeder. Veri kümesi artırma, analiz veya belirli nesnelere yönelik odaklanmış veri kümeleri oluşturma için kullanışlıdır. |
show_labels | bool | True | Görsel çıktıda her algılama için etiketleri gösterir. Algılanan nesnelerin hemen anlaşılmasını sağlar. |
show_conf | bool | True | Her algılamanın güven puanını etiketinin yanında gösterir. Modelin her algılamaya ne kadar güvendiğini görmeni sağlar. |
show_boxes | bool | True | Algılanan nesnelerin çevresine sınırlayıcı kutular çizer. Görüntülerde veya video karelerinde nesneleri görsel olarak tanımlamak ve konumlarını belirlemek için gereklidir. |
line_width | int or None | None | Sınırlayıcı kutuların çizgi kalınlığını belirtir. None ise çizgi kalınlığı görüntü boyutuna göre otomatik ayarlanır. Netlik için görsel özelleştirme sağlar. |
Doğrulama Ayarları#
YOLO modelleri için doğrulama ayarları, performansı bir doğrulama veri kümesinde değerlendirmeye yönelik hiperparametreleri ve yapılandırmaları içerir. Bu ayarlar performansı, hızı ve doğruluğu etkiler. Yaygın ayarlar arasında toplu iş boyutu, doğrulama sıklığı ve performans metrikleri bulunur. Doğrulama veri kümesinin boyutu ve bileşimi ile belirli görev de süreci etkiler.
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
data | str | None | Veri kümesi YAML dosyasının yolunu belirtir (örn. coco8.yaml); dosyada doğrulama verilerinin yolu bulunmalıdır. Sınıflandırma için bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı (örn. imagenet10) kullanılır. |
imgsz | int | 640 | Girdi görüntülerinin boyutunu tanımlar. İşlemden önce tüm görüntüler bu boyuta getirilir. Daha büyük boyutlar küçük nesnelerde doğruluğu artırabilir, ancak hesaplama süresini uzatır. |
batch | int | 16 | Toplu iş başına görüntü sayısını ayarlar. Daha yüksek değerler GPU belleğini daha verimli kullanır, ancak daha fazla VRAM gerektirir. Kullanılabilir donanım kaynaklarına göre ayarla. |
save_json | bool | False | True ise sonuçları daha ileri analiz, diğer araçlarla entegrasyon veya COCO gibi değerlendirme sunucularına gönderim için bir JSON dosyasına kaydeder. Algılama veri kümelerinde ayrıca tahminleri faster-coco-eval ile değerlendirir ve küçük, orta ve büyük nesneler için mAP değerlerini raporlar; eğitim sırasında bu değerler results.csv içindeki metrics/mAP_small(B), metrics/mAP_medium(B) ve metrics/mAP_large(B) olarak günlüğe kaydedilir. |
conf | float | 0.001 | Algılamalar için minimum güven eşiğini ayarlar. Daha düşük değerler geri çağırmayı artırır, ancak daha fazla yanlış pozitif oluşturabilir. Kesinlik-geri çağırma eğrileri, mAP ve algılama karmaşıklık matrisleri bu değeri kullanır; conf değerinin 0.25 gibi daha yüksek olması, matrisi tahmin çıktısına daha çok yaklaştırır, ancak mAP değerini düşürebilir. Özet kesinlik ve geri çağırma, maksimum F1 güvenini kullanır; bu nedenle confusion_matrix.png değerinden elde edilen değerlerden farklı olabilir. Bellek kullanımını azaltmak için OBB doğrulamasında varsayılan değer 0.01 olur. |
iou | float | 0.7 | Maksimum Olmayan Bastırma için Kesişim-Birleşim eşiğini ayarlar. Yinelenen algılamaların elenmesini denetler. |
max_det | int | 300 | Görüntü başına en yüksek algılama sayısını sınırlar. Detect, segment, pose ve OBB görevlerinde bu değer 300 olarak bırakılırsa doğrulanan bölümde bir görüntünün etiketli nesne sayısı bu değeri aştığında, uyarı verilerek sınır en yüksek etiketli nesne sayısına çıkarılır; diğer tüm değerler korunur ve bir görüntü bu değeri aşarsa geri çağırmanın sınırlanabileceğine dair uyarı verilir. |
quantize | int veya str | None | Doğrulama hassasiyeti: 16/"fp16" ve 32/"fp32"/ayarlanmamış değerleri, PyTorch ve TorchScript modelleri için FP16 veya FP32 hesaplamayı seçer; diğer biçimler kendi yapıtlarının ve çalışma zamanlarının seçtiği hassasiyette hesaplama yapar. 16 durumunda OpenVINO, istemci tarafında girdiyi yine FP16'ya yuvarlayıp tekrar FP32'ye genişletir; ancak çalışma zamanının hesaplama yaptığı hassasiyeti değiştirmez. INT8/PTQ nicelemesi dışa aktarma sırasında yapılandırılır ve dışa aktarılan model doğrulanırken kullanılır. Kullanımdan kaldırılmış half bayrağının yerine geçer. |
device | str | None | Doğrulama için cihazı belirtir (cpu, cuda:0, npu, npu:0 vb.). None olduğunda kullanılabilir en iyi cihazı otomatik seçer. Birden fazla CUDA cihazı virgülle ayrılarak belirtilebilir. |
dnn | bool | False | True ise ONNX model çıkarımında OpenCV DNN modülünü kullanarak PyTorch çıkarım yöntemlerine alternatif sunar. |
plots | bool | True | True olarak ayarlandığında, model performansını görsel olarak değerlendirmek için tahminler ile gerçek değerlerin grafiklerini, karmaşıklık matrislerini ve PR eğrilerini oluşturup kaydeder. |
classes | list[int] | None | Değerlendirilecek sınıf kimliklerinin listesini belirtir. Değerlendirme sırasında sınıfları filtreleyerek yalnızca belirli sınıflara odaklanmak için kullanışlıdır. |
rect | bool | True | True ise toplu işleme için dikdörtgen biçimli çıkarım kullanır; dolguyu azaltır ve görüntüleri özgün en-boy oranlarında işleyerek hızı ve verimliliği artırabilir. Her görüntüyü doldurmak yerine sabit imgsz kare boyutuna uzatan depth doğrulamasında yok sayılır. |
split | str | 'val' | Doğrulama için kullanılacak veri kümesi bölümünü belirler (val, test veya train). Performansı değerlendirmek için veri bölümünü seçme esnekliği sağlar. |
fraction | float, int veya list | 1.0 | Doğrulanan bölümün alt kümesi. [train, val, test] listesi verildiğinde, split ile eşleşen girdi uygulanır (1 = bölümün tamamı, 1 üzerindeki tam sayılar = görüntü sayıları; belirtilmeyen girdiler bölümün tamamını kullanır). Skaler değer yalnızca split=train için geçerlidir; val ve test bu durumda bölümün tamamını kullanır. |
project | str | None | Doğrulama çıktılarının kaydedileceği proje dizininin adı. Farklı deneylerin veya modellerin sonuçlarını düzenlemeye yardımcı olur. |
name | str | None | Doğrulama çalıştırmasının adı. Doğrulama günlüklerinin ve çıktılarının saklandığı proje klasöründe bir alt dizin oluşturmak için kullanılır. |
verbose | bool | True | True ise doğrulama sürecinde sınıf başına metrikler, toplu iş ilerlemesi ve ek hata ayıklama bilgileri dahil ayrıntılı bilgileri gösterir. |
save_txt | bool | False | True ise algılama sonuçlarını, görüntü başına bir dosya olacak şekilde metin dosyalarına kaydeder; bu dosyalar daha ileri analiz, özel son işleme veya diğer sistemlerle entegrasyon için kullanışlıdır. |
save_conf | bool | False | True ise save_txt etkin olduğunda kaydedilen metin dosyalarına güven değerlerini ekleyerek analiz ve filtreleme için daha ayrıntılı çıktı sağlar. |
workers | int | 8 | Veri yükleme için çalışan iş parçacığı sayısı. Daha yüksek değerler veri ön işlemeyi hızlandırabilir, ancak CPU kullanımını artırabilir. 0 olarak ayarlandığında ana iş parçacığı kullanılır; bu, bazı ortamlarda daha kararlı olabilir. |
augment | bool | False | Doğrulama sırasında test zamanı artırmayı (TTA) etkinleştirir; girdinin dönüştürülmüş sürümlerinde çıkarım yaparak çıkarım hızından ödün verme pahasına algılama doğruluğunu artırabilir. Yalnızca Ultralytics PyTorch modellerinde kullanılabilir. |
agnostic_nms | bool | False | Sınıftan bağımsız Maksimum Olmayan Bastırmayı etkinleştirir; tahmin edilen sınıfları ne olursa olsun, örtüşen kutular arasında puanı daha düşük olanları bastırır. Örnek odaklı uygulamalarda kullanışlıdır. NMS'siz çıkarımda (YOLO26 veya YOLOv10'da nms=False), bu ayar yalnızca aynı algılamanın birden fazla sınıf etiketiyle görünmesini önler (IoU=1.0 yinelenenleri); farklı kutular arasında IoU eşiğine dayalı bastırma yapmaz. |
single_cls | bool | False | Doğrulama sırasında tüm sınıfları tek bir sınıf olarak ele alır. İkili algılama görevlerinde veya sınıf ayrımlarının önemli olmadığı durumlarda model performansını değerlendirmek için kullanışlıdır. |
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österir. Eşleşmeleri ve hataları daha sade görüntülemek için False olarak ayarla. |
show_conf | bool | True | visualize=True olduğunda doğrulama görselleştirmelerinde güven puanlarını gösterir. Eşleşmeleri ve hataları daha sade görüntülemek için False olarak ayarla. |
compile | bool veya str | False | PyTorch 2.x torch.compile grafik derlemesini backend='inductor' ile etkinleştirir. True → "default", devre dışı bırakmak için False veya "default", "reduce-overhead", "max-autotune-no-cudagraphs" gibi bir dize modu kabul eder. Desteklenmiyorsa uyarı vererek eager moda geri döner. |
channels_last | bool | None | Yerel PyTorch doğrulaması için channels_last (NHWC) bellek biçimini kullanır. None, PyTorch 1.13 veya daha yeni sürümlerin yüklü olduğu, oneDNN etkin Linux ve Windows x86 CPU'larda bunu otomatik olarak etkinleştirir; False devre dışı bırakır ve True desteklenen x86 CPU veya CUDA cihazlarında kullanılmasını ister. ARM64, MPS, eski PyTorch sürümleri, oneDNN olmayan CPU'lar ve dışa aktarılmış biçimler değişmeden kalır; eğitim sırasındaki doğrulama, eğitim modelinin düzenini korur. |
nms | bool, isteğe bağlı | None | Varsayılan olarak NMS ile bire-çok çıkarım yapar (None veya True). Kullanılabiliyorsa NMS'siz bire-bir başlığı kullanmak için False değerini ayarla. Ayrıntılar için Uçtan Uca Algılama kılavuzuna bak. |
Dikkatli ayarlama ve denemeler, en iyi performansı sağlamak ve aşırı öğrenmeyi tespit edip önlemek için çok önemlidir.
Dışa Aktarma Ayarları#
YOLO modellerinin dışa aktarma ayarları, modeli farklı ortamlarda kullanmak üzere kaydetme veya dışa aktarma yapılandırmalarını içerir. Bu ayarlar performansı, boyutu ve uyumluluğu etkiler. Temel ayarlar arasında dışa aktarılan dosya biçimi (örn. ONNX, TensorFlow SavedModel), hedef cihaz (örn. CPU, GPU) ve maskeler gibi özellikler bulunur. Modelin görevi ve hedef ortamın kısıtlamaları da dışa aktarma sürecini etkiler.
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'torchscript' | Dışa aktarılan modelin hedef biçimi; örneğin 'onnx', 'torchscript', 'engine' (TensorRT) veya başka biçimler. Her biçim farklı dağıtım ortamlarıyla uyumluluk sağlar. |
name | str | None | Donanım hedefi gerektiren biçimler için donanım hedefinin adı: Hailo mimarisi ('hailo8', 'hailo8l', 'hailo10h', 'hailo15h', 'hailo15l'; varsayılan olarak 'hailo8l' kullanılır), Rockchip RKNN yongası (varsayılan olarak 'rk3588' kullanılır), Huawei Ascend SoC (CANN --soc_version; varsayılan olarak 'Ascend310B4' kullanılır), Qualcomm QNN HTP hedefi (varsayılan olarak '73' kullanılır) veya AMD Xilinx Versal AI Edge Series Gen 2 aygıtı (varsayılan olarak 've2-xc2ve3858', VEK385 değerlendirme kiti kullanılır). Diğer modların kullandığı project/name çalıştırma adlandırma çiftinden farklıdır. |
imgsz | int veya tuple | 640 | Model girdisi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı (640×640 için 640 gibi) veya belirli boyutlar için (height, width) demeti olabilir. Belirtilmediğinde dışa aktarma, yüklenen kontrol noktasında kayıtlı eğitim boyutunu yeniden kullanır: resmî YOLO26 kontrol noktalarında derinlik için 768, sınıflandırma için 224, OBB için 1024 ve diğer görevler için 640 kayıtlıdır; ince ayar yapılmış modeldeyse eğitim sırasında kullanılan imgsz kaydedilir. YAML'den oluşturulmuş bir modelde kayıtlı eğitim boyutu yoktur ve 640 kullanılır. |
optimize | bool | False | DEEPX için daha yüksek derleyici optimizasyonunu etkinleştirir; derleme süresini uzatırken çıkarım gecikmesini azaltır. |
quantize | int veya str | None | Nicemleme hassasiyeti: 16 (FP16, model boyutunu küçültür ve desteklenen donanımlarda çıkarımı hızlandırabilir) veya 8 (INT8/PTQ, modeli çok az doğruluk kaybıyla daha da sıkıştırır, öncelikle uç cihazlar için kullanılır; kalibrasyon için data/fraction gerekir); 32/ayarlanmamış değer FP32'dir. quantize=8 ile eğitilmiş bir kontrol noktası her zaman INT8 olarak dışa aktarılır: onnx ve engine, kontrol noktasının taşıdığı aralıkları kullanarak kalibrasyon olmadan dışa aktarım yapar; diğer biçimler veya hassasiyetler reddedilir. 'w8a8' ve 'w16a16', 8 ve 16 için takma adlardır; karma hassasiyetler olan 'w8a16' (16 bit aktivasyonlara sahip INT8 ağırlıklar: CoreML, LiteRT, QNN) ve 'w8a32' (dinamik INT8: LiteRT) yalnızca bu biçimlerde kabul edilir. Kullanımdan kaldırılmış half/int8 bayraklarının yerini alır (half=True → 16, int8=True → 8; kullanımdan kaldırma uyarısıyla kabul edilmeye devam eder). Yalnızca hedef biçimin desteklediği hassasiyetlere izin verilir (aşağıya bak). |
dynamic | bool | False | TorchScript, ONNX, OpenVINO, TensorRT, CoreML ve MNN dışa aktarımlarında dinamik girdi boyutlarına izin vererek değişen görüntü boyutlarını işleme esnekliğini artırır. |
simplify | bool | True | ONNX grafiği oluşturan dışa aktarımlarda (onnxslim ile) ara ONNX grafiğini basitleştirir (Dışa Aktarma Biçimleri bölümüne bak); çıkarım motorlarıyla performansı ve uyumluluğu artırabilir. |
opset | int | None | ONNX grafiği oluşturan dışa aktarımlarda ONNX opset sürümünü belirtir (Dışa Aktarma Biçimleri bölümüne bak); farklı ONNX ayrıştırıcıları ve çalışma zamanlarıyla uyumluluk sağlar. Ayarlanmazsa desteklenen en son sürüm kullanılır. |
workspace | float veya None | None | TensorRT optimizasyonları için maksimum çalışma alanı boyutunu GiB cinsinden ayarlayarak bellek kullanımı ile performansı dengeler. TensorRT'nin cihazın en yüksek kapasitesine kadar otomatik ayırma yapması için None değerini kullan. |
nms | bool, isteğe bağlı | None | None, harici NMS için ham bire-çok tahminlerini dışa aktarır; True, desteklenen durumlarda NMS'yi modele dahil eder; False, kullanılabiliyorsa NMS'siz başlığı seçer. CoreML'de yerleşik NMS, statik şekillerle detect, segment ve pose görevlerini destekler. Uçtan Uca Algılama kılavuzuna bak. |
conf | float | None | Dışa aktarma sırasında NMS'nin oluşturulduğu her yerde kullanılan güven eşiği: nms=True dışa aktarımları; Hailo'nun uçtan uca olmayan detect dışa aktarımları; ve içeride nms=True değerini zorunlu kılan IMX detect, pose ve segment dışa aktarımları. Ayarlanmadığında varsayılan değer 0.25 olur. |
iou | float | 0.7 | Dışa aktarma sırasında NMS'nin oluşturulduğu her yerde kullanılan IoU eşiği: nms=True dışa aktarımları; Hailo'nun uçtan uca olmayan detect dışa aktarımları; ve içeride nms=True değerini zorunlu kılan IMX detect, pose ve segment dışa aktarımları. |
max_det | int | 300 | Dışa aktarılan modelin çıktısında tutulan en yüksek algılama sayısı. Yerel NMS işlem hattında algılama sınırı olmayan CoreML algılama dışında, her biçimdeki nms=True dışa aktarımları için geçerlidir. Ayrıca NMS'siz uçtan uca algılama dışa aktarımlarında (YOLO26, YOLOv10; kullanılabilir bağlantı noktası sayısıyla sınırlandırılır) ve IMX detect, pose ve segment dışa aktarımlarında da uygulanır. |
agnostic_nms | bool | False | CoreML'in kendi NMS aşaması da dahil olmak üzere, standart nms=True işlem hattı üzerinden dışa aktarma sırasında NMS'nin oluşturulduğu her yerde sınıftan bağımsız NMS'yi etkinleştirir; yalnızca aynı sınıf içindekileri değil, farklı sınıflardaki örtüşen kutular arasında puanı daha düşük olanları da bastırır. Sınıftan bağımsız seçeneği olmayan ve bu bayraktan bağımsız olarak sınıf farkındalığını koruyan Hailo veya IMX'in kendi oluşturduğu NMS yapılandırmalarında bu ayar dikkate alınmaz. NMS'siz uçtan uca dışa aktarımlara (YOLO26, YOLOv10) da dahil edilir; bu durumda IoU eşiğine dayalı olarak farklı kutuları bastırmaz, yalnızca aynı algılamanın birden fazla sınıf etiketi altında görünmesini önler (IoU=1.0 yinelenenleri). |
batch | int | 1 | Dışa aktarılan modelin toplu çıkarım boyutunu veya modelin predict modunda eşzamanlı olarak işleyeceği en yüksek görüntü sayısını belirtir. Dışa aktarma bağımsız değişkenlerinde batch bulunmayan biçimler (Edge TPU, IMX500, DEEPX, Hailo, AMD Xilinx) batch 1 olarak dışa aktarılır ve diğer değerleri kabul etmez. |
device | str | None | Dışa aktarma için kullanılacak cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silicon için MPS (device=mps), Huawei Ascend NPU (device=npu veya device=npu:0) ya da NVIDIA Jetson için DLA (device=dla:0 veya device=dla:1). TensorRT dışa aktarımları otomatik olarak GPU kullanır; ancak TensorRT 11.0 DLA'yı desteklemez. |
verbose | bool | False | format='engine' dışa aktarımı sırasında TensorRT oluşturucu günlüğünün ayrıntı düzeyini VERBOSE olarak yükseltir. Diğer dışa aktarma biçimleri bu ayarı yok sayar. |
data | str | None | INT8 niceleme kalibrasyonu için gerekli veri kümesi YAML dosyasının yolu; sınıflandırma için bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı kullanılır. INT8 etkinleştirildiğinde belirtilmemişse Ultralytics, gerektiğinde göreve özgü bir kalibrasyon veri kümesi seçer veya modelin görevi için varsayılan veri kümesini kullanır. quantize=8 ile eğitilmiş bir kontrol noktası kendi INT8 aralıklarını içerir ve kalibrasyon verisi gerektirmez. |
split | str | 'val' | data içinden INT8 niceleme kalibrasyonu veri yükleyicisini oluşturmak için kullanılan veri kümesi bölümü ('train', 'val' veya 'test'). |
fraction | float, int veya list | 1.0 | INT8 kalibrasyonu için kullanılan veri kümesi alt kümesi: oran, görüntü sayısı veya [train, val, test] değerleri. 1 bölümün tamamı demektir; 1 üzerindeki tam sayılar görüntü sayısıdır ve yalnızca isteğe bağlı test girdisi, hiçbiri anlamına gelen 0/0.0 değerlerini kabul eder. İki öğeli listelerde test bölümün tamamı olarak kalır. |
Dikkatlice yapılandırma yapmak, dışa aktarılan modelin kullanım amacına göre optimize edilmesini ve hedef ortamda etkili biçimde çalışmasını sağlar.
Çözüm Ayarları#
Ultralytics Solutions yapılandırma ayarları; nesne sayma, ısı haritası oluşturma, antrenman takibi, veri analizi, bölge takibi, kuyruk yönetimi ve bölge tabanlı sayım gibi görevler için modelleri özelleştirme esnekliği sunar. Bu seçenekler, belirli ihtiyaçlara göre doğru ve kullanışlı sonuçlar elde etmek için kolay ayarlamalar yapmanı sağlar.
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Ultralytics YOLO model dosyasının yolu. |
region | list veya dict | None | İlgi bölgesini tanımlayan noktalar; (x, y) demetlerinin listesi veya birden fazla bölge için bölge adlarını nokta listelerine eşleyen bir sözlük (yalnızca RegionCounter). None olduğunda, bölge gerektiren çözümler önceden tanımlanmış varsayılan bölgeye döner. |
show_in | bool | True | Video akışında giriş sayılarının görüntülenip görüntülenmeyeceğini denetleyen bayrak. |
show_out | bool | True | Video akışında çıkış sayılarının görüntülenip görüntülenmeyeceğini denetleyen bayrak. |
analytics_type | str | 'line' | Grafik türü; yani line, bar, area veya pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Isı haritasında kullanılacak renk haritası. |
line_width | int | 2 | Çözümün çizdiği kutular, anahtar noktalar ve sayılar için çizgi kalınlığı. |
verbose | bool | True | Çözümün her kare için girdi şekli, sınıf sayıları ve işleme hızına ilişkin günlüğünü etkinleştirir. İzleme çağrısının kendisi her zaman sessizdir. |
json_file | str | None | Tüm park koordinatı verilerini içeren JSON dosyasının yolu. |
up_angle | float | 145.0 | 'Yukarı' pozu için açı eşiği. |
kpts | list[int] | [6, 8, 10] | Antrenmanları izlemek için kullanılan üç anahtar nokta indeksinin listesi. Bu anahtar noktalar; şınav, barfiks, squat ve karın egzersizleri gibi hareketlerde omuz, dirsek ve bilek gibi vücut eklemlerine veya bölümlerine karşılık gelir. |
down_angle | float | 90.0 | 'Aşağı' pozu için açı eşiği. |
blur_ratio | float | 0.5 | Bulanıklık yoğunluğu yüzdesini 0.1 - 1.0 aralığındaki değerlere göre ayarlar. |
crop_dir | str | 'cropped-detections' | Kırpılmış tespitleri depolamak için kullanılan dizinin adı. |
records | int | 5 | Güvenlik alarm sistemiyle e-posta gönderilmesini tetikleyecek toplam tespit sayısı. |
vision_point | tuple[int, int] | (20, 20) | VisionEye Solution ile nesnelerin izleneceği ve yolların çizileceği nokta. |
source | str | None | Girdi kaynağının yolu (video, RTSP vb.). Yalnızca Solutions komut satırı arayüzü (CLI) ile kullanılabilir. |
figsize | tuple[float, float] | (12.8, 7.2) | Analytics grafikleri için inç cinsinden şekil boyutu; (12.8, 7.2), 1280×720 boyutunda bir kare oluşturur. |
fps | float | 30.0 | Hız hesaplamalarında kullanılan saniyedeki kare sayısı. |
max_hist | int | 5 | Hız/yön hesaplamaları için nesne başına izlenecek en fazla 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çekleme katsayısı. |
max_speed | int | 120 | km/sa cinsinden en yüksek hız; tahmin edilen daha yüksek hızlar bu değerde sınırlandırılır. |
data | str | 'images' | Benzerlik araması için kullanılan görüntü dizininin yolu. |
imgsz | int | 640 | Model çıkarımı için girdi görüntüsü boyutu. |
Artırma Ayarları#
Veri artırma teknikleri, eğitim verilerine çeşitlilik katarak YOLO modelinin sağlamlığını ve performansını artırmak, modelin daha önce görülmemiş verilere daha iyi genelleme yapmasına yardımcı olmak için gereklidir. Aşağıdaki tabloda her artırma argümanının amacı ve etkisi açıklanmaktadır:
| Bağımsız değişken | Tür | 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 çemberinin belirli bir kesri kadar ayarlayarak renk çeşitliliği sağlar. Modelin farklı ışık koşullarına genelleme yapmasına yardımcı olur. classify için bu yalnızca auto_augment=None olduğunda uygulanır. |
hsv_s | float | 0.7 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Görüntünün doygunluğunu belirli bir kesir kadar değiştirerek renklerin yoğunluğunu etkiler. Farklı çevre koşullarını simüle etmek için kullanışlıdır. classify için bu yalnızca auto_augment=None olduğunda uygulanır. |
hsv_v | float | 0.4 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Modelin çeşitli ışık koşullarında iyi performans göstermesine yardımcı olmak için görüntünün değerini (parlaklığını) belirli bir kesir kadar değiştirir. classify için bu yalnızca auto_augment=None olduğunda uygulanır. |
degrees | float | 0 | detect, segment, semantic, depth, pose, obb | 0.0 - 180 | Görüntüyü belirtilen derece aralığında rastgele döndürerek modelin nesneleri farklı yönelimlerde tanıma becerisini geliştirir. |
translate | float | 0.1 | detect, segment, semantic, depth, pose, obb | 0.0 - 1.0 | Kısmen görünen nesneleri tespit etmeyi öğrenmeye yardımcı olmak için görüntüyü görüntü boyutunun belirli bir kesri kadar yatay ve dikey olarak kaydırır. |
scale | float | tuple | 0.5 | detect, segment, semantic, depth, classify, pose, obb | 0 - 1 veya açıkça belirtilen bir (min, max) demeti (classify için değil) | Görüntüyü bir kazanç katsayısına göre ölçekleyerek kameraya farklı uzaklıklardaki nesneleri simüle eder. |
shear | float | 0 | detect, segment, semantic, depth, pose, obb | -180 - +180 | Nesnelerin farklı açılardan görüntülenme etkisini taklit etmek için görüntüyü belirtilen derece kadar keser. |
perspective | float | 0 | detect, segment, semantic, depth, pose, obb | 0.0 - 0.001 | Modelin nesneleri 3B uzayda anlama becerisini geliştirmek için görüntüye rastgele perspektif dönüşümü uygular. |
flipud | float | 0 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Nesnenin özelliklerini etkilemeden veri çeşitliliğini artırmak için görüntüyü belirtilen olasılıkla baş aşağı çevirir. |
fliplr | float | 0.5 | detect, segment, semantic, depth, classify, pose, obb | 0.0 - 1.0 | Simetrik nesneleri öğrenmek ve veri kümesi çeşitliliğini artırmak için görüntüyü belirtilen olasılıkla soldan sağa çevirir. |
bgr | float | 0 | detect, segment, semantic, depth, pose, obb | 0.0 - 1.0 | Yanlış kanal sıralamasına karşı sağlamlığı artırmak için görüntü kanallarını belirtilen olasılıkla RGB'den BGR'ye çevirir. |
mosaic | float | 1 | detect, segment, semantic, pose, obb | 0.0 - 1.0 | Dört eğitim görüntüsünü tek bir görüntüde birleştirerek farklı sahne düzenlerini ve nesne etkileşimlerini simüle eder. Karmaşık sahneleri anlamada son derece etkilidir. |
mixup | float | 0 | detect, segment, semantic, pose, obb | 0.0 - 1.0 | İki görüntüyü ve bunların etiketlerini harmanlayarak bileşik bir görüntü oluşturur. Etiket gürültüsü ve görsel çeşitlilik ekleyerek modelin genelleme becerisini geliştirir. |
cutmix | float | 0 | detect, segment, semantic, pose, obb | 0.0 - 1.0 | İki görüntünün bölümlerini birleştirerek ayrı bölgeleri koruyan kısmi bir harmanlama oluşturur. Örtülme durumları oluşturarak modelin sağlamlığını artırır. |
copy_paste | float | 0 | segment, semantic, obb | 0.0 - 1.0 | Yapıştırılmaya uygun nesnelerin yapıştırılma oranı; flip nesneleri görüntü içinde aynalar, mixup ise bu değeri görüntüler arası uygulama olasılığı olarak da kullanır. |
copy_paste_mode | str | flip | segment, semantic, obb | - | 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ını ('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 bazı bölgelerini rastgele siler. |
augmentations | list | None | detect, segment, semantic, depth, pose, obb | - | Gelişmiş veri artırma için özel Albumentations dönüşümleri (yalnızca Python API'si). Özel artırma ihtiyaçları için dönüşüm nesnelerinden oluşan bir liste kabul eder. |
Bu ayarları veri kümesi ve görev gereksinimlerine göre düzenle. Farklı değerlerle denemeler yapmak, en iyi model performansını sağlayacak en uygun artırma stratejisini bulmana yardımcı olabilir.
Günlük Kaydı, Kontrol Noktaları ve Grafik Ayarları#
YOLO modeli eğitirken günlük kaydı, kontrol noktaları, grafikler ve dosya yönetimi önemlidir:
- Günlük kaydı: Modelin ilerleyişini takip et ve sorunları TensorBoard gibi kütüphanelerle veya bir dosyaya yazarak teşhis et.
- Kontrol noktaları: Eğitime devam etmek veya farklı yapılandırmaları denemek için modeli düzenli aralıklarla kaydet.
- Grafikler: Matplotlib veya TensorBoard gibi kütüphaneleri kullanarak performansı ve eğitim ilerlemesini görselleştir.
- Dosya yönetimi: Kolay erişim ve analiz için kontrol noktaları, günlük dosyaları ve grafikler gibi eğitim sırasında oluşturulan dosyaları düzenle.
Bu unsurları etkili bir şekilde yönetmek ilerlemeyi takip etmeye yardımcı olur ve hata ayıklama ile optimizasyonu kolaylaştırır.
| Bağımsız değişken | Varsayılan | Açıklama |
|---|---|---|
project | None | Eğitim çalıştırmalarının kaydedileceği kök dizini belirtir. Belirtilmezse çalıştırmalar runs/<task> konumuna kaydedilir. Her çalıştırma ayrı bir alt dizine kaydedilir. |
name | None | Deney adını tanımlar. Belirtilmezse YOLO, mod adını kullanır ve üzerine yazmayı önlemek için her çalıştırmada bu adı artırır (ör. train, train-2). |
exist_ok | False | Mevcut bir deney dizininin üzerine yazılıp yazılmayacağını belirler. True üzerine yazmaya izin verir; False ise bunu engeller. |
plots | True | Eğitim ve doğrulama grafiklerinin oluşturulmasını ve kaydedilmesini denetler. Performansı görsel olarak takip etmek için kayıp eğrileri, kesinlik-duyarlılık eğrileri ve örnek tahminler gibi grafikleri oluşturmak üzere True olarak ayarla. |
save | True | Eğitim kontrol noktalarının ve son model ağırlıklarının kaydedilmesini etkinleştirir. Model durumlarını düzenli olarak kaydetmek ve böylece eğitime devam etmek veya modeli dağıtmak için True olarak ayarla. |
Özel Yapılandırma Dosyası#
Argümanların tamamını satır içinde belirtmeden yeniden kullanmak için kaydedilmiş bir YAML dosyası yükle. cfg argümanı, default.yaml değerlerini geçersiz kılar; bununla birlikte belirtilen ek argümanlar yine önceliklidir.
| Bağımsız değişken | Varsayılan | Açıklama |
|---|---|---|
cfg | None | Değerleri default.yaml girdilerinin yerine geçen YAML dosyasının yolu. Uygulamalı CLI örneği için Varsayılan Yapılandırma Dosyasını Geçersiz Kılma sayfasına bak. |
Sık Sorulan Sorular#
Yığın boyutu, öğrenme oranı, momentum ve ağırlık çürümesi gibi hiperparametreleri ayarlayarak performansı artır. Veri artırma ayarlarını düzenle, doğru optimizasyon algoritmasını seç ve erken durdurma ya da karma hassasiyet gibi tekniklerden yararlan. Ayrıntılar için Eğitim Kılavuzu sayfasına bak.
Doğruluğu etkileyen temel hiperparametreler şunlardır:
- Yığın Boyutu (
batch): Daha büyük yığınlar eğitimi kararlı hâle getirebilir, ancak daha fazla bellek gerektirir. - Öğrenme Oranı (
lr0): Daha düşük oranlar ince ayarlar sağlar, ancak yakınsamayı yavaşlatır. - Momentum (
momentum): Gradyan vektörlerini hızlandırırken salınımları azaltır. - Görüntü Boyutu (
imgsz): Daha büyük boyutlar doğruluğu artırır, ancak hesaplama yükünü yükseltir.
Bu değerleri veri kümesine ve donanımına göre ayarla. Daha fazla bilgi için Eğitim Ayarları sayfasına bak.
- Yığın Boyutu (
Öğrenme oranı (
lr0) kritik öneme sahiptir; SGD için0.01, Adam optimizasyon algoritması için0.001ile başla ve varsayılanauto,lr0değerini yok saydığı içinoptimizerdeğerini açıkça ayarla. Metrikleri izle ve gerektiğinde ayarlamalar yap. Kosinüs öğrenme oranı zamanlayıcılarını (cos_lr) veya ısınma aşamasını (warmup_epochs,warmup_momentum) kullan. Ayrıntılar Eğitim Kılavuzu sayfasında.Varsayılan ayarlar şunlardır:
- Güven Eşiği (
conf=0.25): Tespitler için gereken en düşük güven düzeyi. - IoU Eşiği (
iou=0.7): Maksimum Olmayan Bastırma (NMS) için kullanılır. - Görüntü Boyutu (
imgsz=640): Girdi görüntülerini yeniden boyutlandırır. - Aygıt (
device=None): CPU, CUDA GPU, Apple MPS, Intel XPU (xpu) veya Huawei Ascend NPU (npu) seçer.
Genel bir bakış için Tahmin Ayarları ve Tahmin Kılavuzu sayfalarına bak.
- Güven Eşiği (
Karma hassasiyet eğitimi (
amp=True), FP16 ve FP32 kullanarak bellek kullanımını azaltır ve eğitimi hızlandırır. Modern GPU'larda kullanışlıdır; doğrulukta önemli bir kayıp olmadan daha büyük modellerin kullanılmasına ve hesaplamaların hızlanmasına olanak tanır. Daha fazla bilgi için Eğitim Kılavuzu sayfasına bak.