İçeriğe geç

Konfigürasyon

YOLO ayarları ve hiperparametreler 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.

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



İzle: Mastering Ultralytics YOLO : Yapılandırma

Ultralytics komutları aşağıdaki sözdizimini kullanır:

Örnek

yolo TASK MODE ARGS
from ultralytics import YOLO

# Load a YOLO model from a pre-trained weights file
model = YOLO("yolo11n.pt")

# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)

Nerede?

Varsayılan ARG değerleri bu sayfada tanımlanır ve cfg/defaults.yaml dosya.

Görevler

Ultralytics YOLO modelleri, aşağıdakiler de dahil olmak üzere çeşitli bilgisayarla görme görevlerini yerine getirebilir:

  • Algılama: Nesne algılama, bir görüntü veya video içindeki nesneleri tanımlar ve konumlandırır.
  • Segment: Örnek segmentasyonu, bir görüntüyü veya videoyu farklı nesnelere veya sınıflara karşılık gelen bölgelere ayırır.
  • Sınıflandır: Görüntü sınıflandırma, bir giriş görüntüsünün sınıf etiketini tahmin eder.
  • Poz: Poz tahmini, nesneleri tanımlar ve bir görüntü veya videodaki anahtar noktalarını tahmin eder.
  • OBB: Yönlendirilmiş Sınırlayıcı Kutular, uydu veya tıbbi görüntüler için uygun olan döndürülmüş sınırlayıcı kutular kullanır.
Tartışma Varsayılan Açıklama
task 'detect' YOLO görevini belirtir: detect için nesne algılama, segment segmentasyon için, classify sınıflandırma için, pose poz tahmini için ve obb yönlendirilmiş sınırlayıcı kutular için. Her görev, görüntü ve video analizindeki belirli çıktılara ve sorunlara göre uyarlanmıştır.

Görevler Kılavuzu

Modlar

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

  • Eğitin: Özel bir veri kümesi üzerinde bir YOLO modeli eğitin.
  • Val: Eğitilmiş bir YOLO modelini doğrulayın.
  • Tahmin edin: Yeni görüntüler veya videolar üzerinde tahminlerde bulunmak için eğitilmiş bir YOLO modeli kullanın.
  • Dışa aktar: Dağıtım için bir YOLO modelini dışa aktarın.
  • İzleyin: Bir YOLO modeli kullanarak nesneleri gerçek zamanlı olarak izleyin.
  • Benchmark: YOLO dışa aktarımlarınınONNX, TensorRT, vb.) hızını ve doğruluğunu kıyaslayın.
Tartışma Varsayılan Açıklama
mode 'train' YOLO modelinin çalışma modunu belirtir: train model eğitimi için, val doğrulama için, predict çıkarım için, export dağıtım formatlarına dönüştürmek için, track nesne takibi için ve benchmark performans değerlendirmesi için. Her mod, geliştirmeden dağıtıma kadar farklı aşamaları destekler.

Modlar Kılavuzu

Tren 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 azalması yer alır. Optimize edici, kayıp fonksiyonu ve veri kümesi bileşimi seçimi de eğitimi etkiler. Optimum performans için ayarlama ve deneme çok önemlidir. Daha fazla ayrıntı için Ultralytics giriş noktası işlevine bakın.

Tartışma Tip Varsayılan Açıklama
model str None Eğitim için model dosyasını belirtir. Bir model dosyasına giden bir yol kabul eder. .pt ön eğitimli model veya bir .yaml yapılandırma dosyası. 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 yolları ve veri kümesine özgü parametreleri içerir. doğrulama veri̇leri̇, sınıf adları ve sınıf sayısı.
epochs int 100 Toplam eğitim epok sayısı. Her epok, tüm veri kümesi üzerinde tam bir geçişi temsil eder. Bu değerin ayarlanması eğitim süresini ve model performansını etkileyebilir.
time float None Saat cinsinden maksimum eğitim süresi. Eğer ayarlanırsa, bu epochs argümanı, eğitimin belirtilen süreden sonra otomatik olarak durmasına izin verir. 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 epok sayısı. Performans platoları olduğunda eğitimi durdurarak aşırı uyumu önlemeye yardımcı olur.
batch int 16 Parti büyüklüğüüç mod ile: bir tamsayı olarak ayarlanır (örn, batch=16), %60 GPU bellek kullanımı için otomatik mod (batch=-1) veya belirtilen kullanım oranı ile otomatik mod (batch=0.70).
imgsz int veya list 640 Eğitim için hedef görüntü boyutu. Tüm görüntüler modele girilmeden önce bu boyuta yeniden boyutlandırılır. Model doğruluğunu ve hesaplama karmaşıklığını etkiler.
save bool True Eğitim kontrol noktalarının ve son model ağırlıklarının kaydedilmesini sağlar. Eğitime veya model dağıtımına devam etmek için kullanışlıdır.
save_period int -1 Model kontrol noktalarını kaydetme sıklığı, epok 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 kullanışlıdır.
cache bool False Veri kümesi görüntülerinin bellekte önbelleğe alınmasını etkinleştirir (True/ram), disk üzerinde (disk) veya devre dışı bırakır (False). Artan bellek kullanımı pahasına disk I/O'sunu azaltarak eğitim hızını artırır.
device int veya str veya list None Eğitim için hesaplama cihaz(lar)ını belirtir: tek bir GPU (device=0), çoklu GPU'lar (device=0,1), CPU (device=cpu) veya Apple silikonu için MPS (device=mps).
workers int 8 Veri yükleme için işçi iş parçacığı sayısı (her RANK eğer ÇokluGPU eğitim). Veri ön işleme ve modele besleme hızını etkiler, özellikle çokluGPU 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ını sağlar.
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 saklandığı bir alt dizin oluşturmak için kullanılır.
exist_ok bool False True ise, mevcut bir proje/isim dizininin üzerine yazılmasına izin verir. Önceki çıktıları manuel olarak temizlemeye gerek kalmadan yinelemeli denemeler için kullanışlıdır.
pretrained bool veya str True Eğitime önceden eğitilmiş bir modelden başlanıp başlanmayacağını belirler. Boolean bir değer veya ağırlıkların yükleneceği belirli bir modele giden bir dize yolu olabilir. Eğitim verimliliğini ve model performansını artırır.
optimizer str 'auto' Eğitim için optimize edici seçimi. Seçenekler şunları içerir SGD, Adam, AdamW, NAdam, RAdam, RMSProp vb. veya auto model yapılandırmasına dayalı otomatik seçim için. Yakınsama hızını ve kararlılığı etkiler.
seed int 0 Eğitim için rastgele tohumu ayarlar ve aynı konfigürasyonlara sahip çalıştırmalar arasında sonuçların tekrarlanabilirliğini sağlar.
deterministic bool True Deterministik algoritma kullanımını zorlayarak tekrarlanabilirliği sağlar, ancak deterministik olmayan algoritmalar üzerindeki kısıtlama nedeniyle performansı ve hızı etkileyebilir.
single_cls bool False Eğitim sırasında çok sınıflı veri kümelerindeki tüm sınıfları 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 kullanışlıdır.
classes list[int] None Üzerinde eğitilecek sınıf kimliklerinin bir listesini belirtir. Eğitim sırasında filtreleme yapmak ve yalnızca belirli sınıflara odaklanmak için kullanışlıdır.
rect bool False Minimum dolgu için yığın kompozisyonunu optimize ederek dikdörtgen eğitim sağlar. Verimliliği ve hızı artırabilir ancak model doğruluğunu etkileyebilir.
multi_scale bool False Artırarak/azaltarak çok ölçekli eğitime olanak sağlar imgsz bir katına kadar 0.5 eğitim sırasında. Modeli çoklu testlerle daha doğru olacak şekilde eğitir. imgsz çıkarım sırasında.
cos_lr bool False Epoklar boyunca bir kosinüs eğrisini takip ederek öğrenme oranını ayarlayan bir kosinüs öğrenme oranı zamanlayıcısı kullanır. Daha iyi yakınsama için öğrenme oranını yönetmeye yardımcı olur.
close_mosaic int 10 Tamamlanmadan önce eğitimi stabilize etmek için son N epokta mozaik veri artırımını devre dışı bırakır. 0 olarak ayarlanması bu özelliği devre dışı bırakır.
resume bool False Son kaydedilen kontrol noktasından eğitime devam eder. Model ağırlıklarını, optimizer durumunu ve epok sayısını otomatik olarak yükleyerek eğitime sorunsuz bir şekilde devam eder.
amp bool True Otomatik Karma Hassasiyet (AMP) eğitimini etkinleştirerek bellek kullanımını azaltır ve muhtemelen doğruluk üzerinde minimum etkiyle eğitimi hızlandırır.
fraction float 1.0 Veri kümesinin eğitim için kullanılacak kısmını belirtir. Tam veri kümesinin bir alt kümesi üzerinde eğitime izin verir, deneyler için veya kaynaklar sınırlı olduğunda kullanışlıdır.
profile bool False Eğitim sırasında ONNX ve TensorRT hızlarının profilinin çıkarılmasını sağlar, model dağıtımını optimize etmek için kullanışlıdır.
freeze int veya list None Modelin ilk N katmanını veya indekse göre belirtilen katmanları dondurarak eğitilebilir parametrelerin sayısını azaltır. İnce ayar veya aktarımlı öğrenme için kullanışlıdır.
lr0 float 0.01 İlk öğrenme oranı (örn. SGD=1E-2, Adam=1E-3). Bu değerin ayarlanması optimizasyon süreci için çok önemlidir ve model ağırlıklarının ne kadar hızlı güncelleneceğini etkiler.
lrf float 0.01 Başlangıç oranının bir kesri olarak nihai öğrenme oranı = (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 optimize edicileri için beta1, geçmiş gradyanların mevcut güncellemeye dahil edilmesini etkiler.
weight_decay float 0.0005 Aşırı uyumu önlemek için büyük ağırlıkları cezalandıran L2 düzenleme terimi.
warmup_epochs float 3.0 Öğrenme hızı ısınması için epok sayısı, eğitimi erkenden stabilize etmek için öğrenme hızını düşük bir değerden başlangıç öğrenme hızı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 kademeli olarak ayarlanan momentuma ayarlanır.
warmup_bias_lr float 0.1 Isınma aşamasında önyargı parametreleri için öğrenme oranı, ilk epoklarda model eğitimini stabilize etmeye yardımcı olur.
box float 7.5 Kayıp fonksiyonundaki kutu kaybı bileşeninin ağırlığı, sınırlayıcı kutu koordinatlarının doğru tahmin edilmesine ne kadar önem verildiğini etkiler.
cls float 0.5 Sınıflandırma kaybının toplam kayıp fonksiyonundaki ağırlığı, doğru sınıf tahmininin diğer bileşenlere göre önemini etkiler.
dfl float 1.5 Belirli YOLO sürümlerinde ince taneli sınıflandırma için kullanılan dağıtım odak kaybının ağırlığı.
pose float 12.0 Poz tahmini için eğitilen modellerde poz kaybının ağırlığı, poz anahtar noktalarını doğru bir şekilde tahmin etme vurgusunu etkiler.
kobj float 2.0 Poz tahmin modellerinde anahtar nokta nesnellik kaybının ağırlığı, algılama güvenini poz doğruluğu ile dengeler.
nbs int 64 Kaybın normalleştirilmesi için nominal parti büyüklüğü.
overlap_mask bool True Nesne maskelerinin eğitim için tek bir maskede birleştirilip birleştirilmeyeceğini veya her nesne için ayrı ayrı tutulup tutulmayacağını belirler. Üst üste binme durumunda, birleştirme sırasında küçük maske büyük maskenin üzerine bindirilir.
mask_ratio int 4 Segmentasyon maskeleri için aşağı örnekleme 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üzenli hale getirme için bırakma oranı, eğitim sırasında birimleri rastgele atlayarak aşırı uyumu önler.
val bool True Eğitim sırasında doğrulamayı etkinleştirerek model performansının ayrı bir veri kümesi üzerinde periyodik olarak değerlendirilmesine olanak tanır.
plots bool False Eğitim ve doğrulama metriklerinin yanı sıra tahmin örneklerinin grafiklerini oluşturur ve kaydeder, model performansı ve öğrenme ilerlemesi hakkında görsel bilgiler sağlar.

Toplu İş Boyutu Ayarları Hakkında Not

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

  • Sabit Parti Boyutu: Toplu iş başına görüntü sayısını bir tamsayı ile belirtin (örn, batch=16).
  • Otomatik Mod (%60 GPU Bellek): Kullanım batch=-1 yaklaşık %60 CUDA bellek kullanımına otomatik ayarlama için.
  • Kullanım Fraksiyonlu Otomatik Mod: Bir kesir ayarlayın (örn, batch=0.70) belirli bir GPU bellek kullanımına göre ayarlamak için.

Tren Rehberi

Ayarları Tahmin Et

YOLO modelleri için tahmin ayarları, çıkarım sırasında performansı, hızı ve doğruluğu etkileyen hiperparametreleri ve konfigürasyonları 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 veri boyutu, formatı ve maskeler gibi tamamlayıcı özellikler de tahminleri etkiler. Optimum performans için bu ayarların yapılması çok önemlidir.

Çıkarım argümanları:

Tartışma Tip Varsayılan Açıklama
source str 'ultralytics/assets' Çı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. Ç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ında güvenle tespit edilen nesneler dikkate alınmayacaktır. Bu değerin ayarlanması yanlış pozitiflerin azaltılmasına yardımcı olabilir.
iou float 0.7 Maksimum Olmayan Bastırma (NMS) için Birlik Üzerinde Kesişme (IoU) eşiği. Daha düşük değerler, üst üste binen kutuları ortadan kaldırarak daha az tespitle sonuçlanır, bu da kopyaları azaltmak için kullanışlıdır.
imgsz int veya tuple 640 Çıkarım için görüntü boyutunu tanımlar. Tek bir tamsayı olabilir 640 kare yeniden boyutlandırma veya bir (yükseklik, genişlik) tuple için. Doğru boyutlandırma algılamayı iyileştirebilir doğruluk ve işlem hızı.
half bool False Desteklenen GPU'larda model çıkarımını doğruluk üzerinde minimum etkiyle hızlandırabilen yarı hassas (FP16) çıkarımı etkinleştirir.
device str None Çıkarım için cihazı belirtir (örn, cpu, cuda:0 veya 0). Kullanıcıların CPU, belirli bir GPU veya model yürütme için diğer hesaplama cihazları arasında 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 dosya). Daha büyük bir yığın boyutu daha yüksek verim sağlayarak çıkarım için gereken toplam süreyi kısaltabilir.
max_det int 300 Görüntü başına izin verilen maksimum algılama sayısı. Modelin tek bir çıkarımda tespit edebileceği toplam nesne sayısını sınırlayarak yoğun sahnelerde aşırı çıktıları önler.
vid_stride int 1 Video girişleri için kare atlama. Zamansal çözünürlük pahasına işlemeyi hızlandırmak için videolardaki karelerin atlanmasına izin verir. 1 değeri her kareyi işler, daha yüksek değerler kareleri atlar.
stream_buffer bool False Video akışları için gelen çerçevelerin sıraya alınıp alınmayacağını belirler. Eğer Falseyeni kareleri yerleştirmek için eski kareler bırakılır (gerçek zamanlı uygulamalar için optimize edilmiştir). Eğer Trueyeni kareleri bir arabellekte sıraya koyarak hiçbir karenin atlanmamasını sağlar, ancak çıkarım FPS'si akış FPS'sinden düşükse gecikmeye neden olur.
visualize bool False Çıkarım sırasında model özelliklerinin görselleştirilmesini etkinleştirerek modelin "ne gördüğüne" dair içgörü sağlar. Hata ayıklama ve model yorumlama için kullanışlıdır.
augment bool False Tahminler için test zamanı artırımını (TTA) etkinleştirerek çıkarım hızı pahasına tespit sağlamlığını potansiyel olarak iyileştirir.
agnostic_nms bool False Farklı sınıfların örtüşen kutularını birleştiren, sınıftan bağımsız Maksimum Olmayan Bastırma (NMS) özelliğini etkinleştirir. Sınıf çakışmasının yaygın olduğu çok sınıflı algılama senaryolarında kullanışlıdır.
classes list[int] None Tahminleri bir dizi sınıf kimliğine göre filtreler. Yalnızca belirtilen sınıflara ait tespitler 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. Döndürülen maskeler (masks.data) etkinleştirilmişse orijinal görüntü boyutuyla 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 Özellik vektörlerinin veya katıştırmaların çıkarılacağı katmanları belirtir. Kümeleme veya benzerlik arama gibi sonraki görevler için kullanışlıdır.
project str None Aşağıdaki durumlarda tahmin çıktılarının kaydedildiği proje dizininin adı save etkinleştirilir.
name str None Tahmin çalışmasının adı. Proje klasörü içinde tahmin çıktılarının saklanacağı bir alt dizin oluşturmak için kullanılır. save etkinleştirilir.
stream bool False Tüm kareleri bir kerede belleğe yüklemek yerine bir Sonuç nesneleri üreteci döndürerek uzun videolar veya çok sayıda görüntü için bellek açısından verimli işleme sağlar.
verbose bool True Terminalde ayrıntılı çıkarım günlüklerinin görüntülenip görüntülenmeyeceğini kontrol ederek tahmin süreci hakkında gerçek zamanlı geri bildirim sağlar.

Görselleştirme argümanları:

Tartışma Tip Varsayılan Açıklama
show bool False Eğer True, açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim için kullanışlıdır.
save bool False or True Açıklamalı görüntülerin veya videoların dosyaya kaydedilmesini sağlar. Dokümantasyon, ileri analiz veya sonuçları paylaşmak için kullanışlıdır. CLI kullanıldığında varsayılan değer True, Python kullanıldığında ise False'dir.
save_frames bool False Videoları işlerken, tek tek kareleri görüntü olarak kaydeder. Belirli kareleri ayıklamak veya ayrıntılı kare kare analiz için kullanışlıdır.
save_txt bool False Algılama sonuçlarını formata uygun olarak bir metin dosyasına kaydeder [class] [x_center] [y_center] [width] [height] [confidence]. Diğer analiz araçlarıyla entegrasyon için kullanışlıdır.
save_conf bool False Kaydedilen metin dosyalarına güven puanları ekler. İşlem sonrası ve analiz için mevcut ayrıntıları geliştirir.
save_crop bool False Tespitlerin kırpılmış görüntülerini kaydeder. Veri kümesini büyütmek, analiz etmek veya belirli nesneler için odaklanmış veri kümeleri oluşturmak için kullanışlıdır.
show_labels bool True Görsel çıktıdaki her algılama için etiketleri görüntüler. Algılanan nesnelerin anında anlaşılmasını sağlar.
show_conf bool True Etiketin yanında her bir tespit için güven puanını görüntüler. Her bir tespit için modelin kesinliği hakkında fikir verir.
show_boxes bool True Algılanan nesnelerin etrafına sınırlayıcı kutular çizer. Görüntülerdeki veya video karelerindeki nesnelerin görsel olarak tanımlanması ve konumlandırılması için gereklidir.
line_width None or int None Sınırlayıcı kutuların çizgi genişliğini belirtir. Eğer Noneçizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.
font_size float None Ek açıklamalar için metin yazı tipi boyutu. Olarak ayarlanırsa görüntü boyutuyla otomatik olarak ölçeklenir None.
font str 'Arial.ttf' Görselleştirmedeki metin ek açıklamaları için yazı tipi adı veya yolu.
pil bool False Resmi numpy dizisi yerine PIL Image nesnesi olarak döndürür.
kpt_radius int 5 Poz tahmini sonuçlarını görselleştirirken anahtar noktaların yarıçapı.
kpt_line bool True Poz tahminini görselleştirirken anahtar noktaları çizgilerle bağlayın.
masks bool True Görselleştirme çıktısında segmentasyon maskelerini görüntüleyin.
probs bool True Görselleştirmeye sınıflandırma olasılıklarını dahil edin.
filename str None Açıklamalı görüntünün kaydedileceği yol ve dosya adı save=True.
color_mode str 'class' Görselleştirmeler için renklendirme modunu belirtin, örneğin 'örnek' veya 'sınıf'.
txt_color tuple[int, int, int] (255, 255, 255) Sınıflandırma görevi ek açıklamaları için RGB metin rengi.

Tahmin Kılavuzu

Doğrulama Ayarları

YOLO modelleri için doğrulama ayarları, bir doğrulama veri kümesi üzerindeki performansı değerlendirmek için hiperparametreleri 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 ölçümleri yer alır. Doğrulama veri kümesinin boyutu ve bileşiminin yanı sıra belirli bir görev de süreci etkiler.

Tartışma Tip Varsayılan Açıklama
data str None Veri kümesi yapılandırma dosyasının yolunu belirtir (örn, coco8.yaml). Bu dosya aşağıdakilere giden yolları içerir doğrulama veri̇leri̇, sınıf adları ve sınıf sayısı.
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 hesaplama süresini artırı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. Mevcut donanım kaynaklarına göre ayarlayın.
save_json bool False Eğer Truedaha fazla analiz, diğer araçlarla entegrasyon veya COCO gibi değerlendirme sunucularına gönderme için sonuçları bir JSON dosyasına kaydeder.
save_hybrid bool False Eğer Trueorijinal açıklamaları ek model tahminleriyle birleştiren etiketlerin hibrit bir versiyonunu kaydeder. Yarı denetimli öğrenme ve veri kümesi geliştirme için kullanışlıdır.
conf float 0.001 Tespitler için minimum güven eşiğini ayarlar. Düşük değerler geri çağırmayı artırır, ancak daha fazla yanlış pozitifliğe neden olabilir. Doğrulama sırasında hassasiyet-geri çağırma eğrilerini hesaplamak için kullanılır.
iou float 0.6 Maksimum Olmayan Bastırma için Birlik Üzerinde Kesişme eşiğini ayarlar. Yinelenen algılama eliminasyonunu kontrol eder.
max_det int 300 Görüntü başına maksimum algılama sayısını sınırlar. Yoğun sahnelerde aşırı tespitleri önlemek ve hesaplama kaynaklarını yönetmek için kullanışlıdır.
half bool True Yarım hassasiyetli (FP16) hesaplamaya olanak sağlayarak bellek kullanımını azaltır ve doğruluk üzerinde minimum etkiyle hızı potansiyel olarak artırır.
device str None Doğrulama için cihazı belirtir (cpu, cuda:0vb.). Ne zaman Noneotomatik olarak mevcut en iyi cihazı seçer. Virgül ayrımı ile birden fazla CUDA cihazı belirtilebilir.
dnn bool False Eğer True, kullanır OpenCV ONNX model çıkarımı için DNN modülü, aşağıdakilere bir alternatif sunar PyTorch çıkarım yöntemleri.
plots bool False Olarak ayarlandığında Truemodel performansının görsel olarak değerlendirilmesi için temel gerçeğe, karışıklık matrislerine ve PR eğrilerine karşı tahminlerin çizimlerini oluşturur ve kaydeder.
rect bool True Eğer Truegörüntüleri orijinal en boy oranlarında işleyerek dolguyu azaltır ve potansiyel olarak hızı ve verimliliği artırır.
split str 'val' Doğrulama için kullanılacak veri kümesi bölünmesini belirler (val, testveya 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 elde edilen sonuçların düzenlenmesine yardımcı olur.
name str None Doğrulama çalışması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 False Eğer Truedoğrulama işlemi sırasında sınıf başına ölçümler, toplu iş ilerlemesi ve ek hata ayıklama bilgileri dahil olmak üzere ayrıntılı bilgiler görüntüler.
save_txt bool False Eğer TrueAlgılama sonuçlarını, görüntü başına bir dosya olmak üzere metin dosyalarına kaydeder ve daha fazla analiz, özel işlem sonrası veya diğer sistemlerle entegrasyon için kullanışlıdır.
save_conf bool False Eğer Truekaydedilen metin dosyalarındaki güven değerlerini şu durumlarda içerir save_txt etkinleştirildiğinde, analiz ve filtreleme için daha ayrıntılı çıktı sağlar.
save_crop bool False Eğer Truealgılanan nesnelerin kırpılmış görüntülerini kaydeder; bu, odaklanmış veri kümeleri oluşturmak, görsel doğrulama veya tek tek algılamaların daha fazla analizi için yararlı olabilir.
workers int 8 Veri yükleme için işçi 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, bazı ortamlarda daha kararlı olabilen ana iş parçacığı kullanılır.
augment bool False Doğrulama sırasında test zamanı artırımını (TTA) etkinleştirir, girdinin dönüştürülmüş sürümleri üzerinde çıkarım yaparak çıkarım hızı pahasına tespit doğruluğunu potansiyel olarak artırır.
agnostic_nms bool False Tahmin edilen sınıflarına bakılmaksızın çakışan kutuları birleştiren, sınıftan bağımsız Maksimum Olmayan Bastırmayı etkinleştirir. Örnek odaklı uygulamalar için kullanışlıdır.
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.

Optimum performansı sağlamak ve aşırı uyumu tespit edip önlemek için dikkatli ayarlama ve deneyler çok önemlidir.

Val Rehberi

Dışa Aktarma Ayarları

YOLO modelleri için dışa aktarma ayarları, modeli farklı ortamlarda kullanmak üzere kaydetmeye veya dışa aktarmaya yönelik yapılandırmaları 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 yer alır. Modelin görevi ve hedef ortamın kısıtlamaları da dışa aktarma sürecini etkiler.

Tartışma Tip Varsayılan Açıklama
format str 'torchscript' Dışa aktarılan model için hedef format, örneğin 'onnx', 'torchscript', 'engine' TensorRT) veya diğerleri. Her format farklı formatlarla uyumluluk sağlar dağıtım ortamları.
imgsz int veya tuple 640 Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı olabilir (örn, 640 640×640 için) veya bir tuple (height, width) belirli boyutlar için.
keras bool False için Keras formatına aktarmayı etkinleştirir TensorFlow SavedModel TensorFlow hizmet ve API'leri ile uyumluluk sağlar.
optimize bool False TorchScript'e aktarırken mobil cihazlar için optimizasyon uygular, potansiyel olarak model boyutunu azaltır ve çıkarım performansını artırır. NCNN formatı veya CUDA cihazları ile uyumlu değildir.
half bool False FP16 (yarım hassasiyetli) nicemlemeyi etkinleştirerek model boyutunu azaltır ve desteklenen donanımda çıkarımı potansiyel olarak hızlandırır. INT8 niceleme veya ONNX için CPU dışa aktarımı ile uyumlu değildir.
int8 bool False INT8 nicelemeyi etkinleştirerek modeli daha da sıkıştırır ve özellikle uç cihazlar için minimum doğruluk kaybıyla çıkarımı hızlandırır. TensorRT ile kullanıldığında, eğitim sonrası niceleme (PTQ) gerçekleştirir.
dynamic bool False ONNX, TensorRT ve OpenVINO dışa aktarımları için dinamik giriş boyutlarına izin vererek değişen görüntü boyutlarının işlenmesinde esnekliği artırır. Otomatik olarak şu şekilde ayarlanır True INT8 ile TensorRT kullanırken.
simplify bool True ile ONNX ihracatları için model grafiğini basitleştirir. onnxslimpotansiyel olarak performansı ve çıkarım motorlarıyla uyumluluğu artırır.
opset int None Farklı operatörlerle uyumluluk için ONNX opset sürümünü belirtir. ONNX ayrıştırıcılar ve çalışma zamanları. Ayarlanmamışsa, desteklenen en son sürümü kullanır.
workspace float veya None None için GiB cinsinden maksimum çalışma alanı boyutunu ayarlar. TensorRT optimizasyonları, bellek kullanımı ve performansı dengeleme. Kullanım None TensorRT tarafından cihaz maksimum değerine kadar otomatik tahsis için.
nms bool False Desteklendiğinde (bkz. Dışa Aktarma Biçimleri) dışa aktarılan modele Maksimum Olmayan Bastırma (NMS) ekleyerek algılama sonrası işleme verimliliğini artırır. End2end modelleri için mevcut değildir.
batch int 1 Dışa aktarılan model toplu çıkarım boyutunu veya dışa aktarılan modelin eşzamanlı olarak işleyeceği maksimum görüntü sayısını belirtir predict modu. Edge TPU dışa aktarımları için bu otomatik olarak 1'e ayarlanır.
device str None Dışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silikonları için MPS (device=mps) veya NVIDIA Jetson için DLA (device=dla:0 veya device=dla:1). TensorRT dışa aktarımları otomatik olarak GPU kullanır.
data str 'coco8.yaml' Yol veri kümesi yapılandırma dosyası (varsayılan: coco8.yaml), INT8 niceleme kalibrasyonu için gereklidir. INT8 etkinken belirtilmezse, varsayılan bir veri kümesi atanacaktır.

Dikkatli 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.

İhracat Kılavuzu

Çözüm Ayarları

Ultralytics Solutions yapılandırma ayarları, nesne sayımı, ısı haritası oluşturma, egzersiz izleme, veri analizi, bölge izleme, kuyruk yönetimi ve bölge tabanlı sayım gibi görevler için modelleri özelleştirme esnekliği sunar. Bu seçenekler, özel ihtiyaçlara göre uyarlanmış doğru ve kullanışlı sonuçlar için kolay ayarlamalara izin verir.

Tartışma Tip Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasının Yolu.
region list [(20, 400), (1260, 400)] Sayım bölgesini tanımlayan noktaların listesi.
show_in bool True Video akışında giriş sayılarının görüntülenip görüntülenmeyeceğini kontrol etmek için bayrak.
show_out bool True Video akışında çıkış sayılarının görüntülenip görüntülenmeyeceğini kontrol etmek için bayrak.
analytics_type str line Grafik türü, örn, line, bar, areaveya pie.
colormap int cv2.COLORMAP_JET Isı haritası için kullanılacak renk haritası.
json_file str None Tüm park koordinatları verilerini içeren JSON dosyasının yolu.
up_angle float 145.0 'Yukarı' duruşu için açı eşiği.
kpts list[int, int, int] [6, 8, 10] Antrenmanları izlemek için kullanılan anahtar noktaların listesi. Bu anahtar noktalar, şınav, barfiks, squat, ab-egzersizleri gibi egzersizler için omuzlar, dirsekler ve bilekler gibi vücut eklemlerine veya parçalarına 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ğunun yüzdesini, aralıktaki değerlerle ayarlar 0.1 - 1.0.
crop_dir str "cropped-detections" Kırpılmış algılamaları saklamak için dizin adı.
records int 5 Güvenlik alarm sistemi ile bir e-postayı tetiklemek için toplam algılama sayısı.
vision_point tuple[int, int] (50, 50) VisionEye Çözümünü kullanarak görüşün nesneleri izleyeceği ve yolları çizeceği nokta.
tracker str 'botsort.yaml' Kullanılacak izleme algoritmasını belirtir, örn, bytetrack.yaml veya botsort.yaml.
conf float 0.3 Algılamalar için güven eşiğini ayarlar; düşük değerler daha fazla nesnenin izlenmesine izin verir ancak yanlış pozitifler içerebilir.
iou float 0.5 Çakışan algılamaları filtrelemek için Birlik üzerinde Kesişim (IoU) eşiğini ayarlar.
classes list None Sonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
verbose bool True İzleme sonuçlarının görüntülenmesini kontrol ederek izlenen nesnelerin görsel bir çıktısını sağlar.
device str None Çıkarım için cihazı belirtir (örn, cpu, cuda:0 veya 0). Kullanıcıların CPU, belirli bir GPU veya model yürütme için diğer hesaplama cihazları arasında seçim yapmasına olanak tanır.
show bool False Eğer True, açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim için kullanışlıdır.
line_width None or int None Sınırlayıcı kutuların çizgi genişliğini belirtir. Eğer Noneçizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.

Çözüm Kılavuzu

Büyütme Ayarları

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

Tartışma Tip Varsayılan Menzil Açıklama
hsv_h float 0.015 0.0 - 1.0 Görüntünün tonunu renk tekerleğinin bir kısmına göre ayarlayarak renk değişkenliği sağlar. Modelin farklı aydınlatma koşullarında genelleştirilmesine yardımcı olur.
hsv_s float 0.7 0.0 - 1.0 Görüntünün doygunluğunu bir miktar değiştirerek renklerin yoğunluğunu etkiler. Farklı çevre koşullarını simüle etmek için kullanışlıdır.
hsv_v float 0.4 0.0 - 1.0 Görüntünün değerini (parlaklığını) belli bir oranda değiştirerek modelin çeşitli aydınlatma koşullarında iyi performans göstermesine yardımcı olur.
degrees float 0.0 -180 - +180 Görüntüyü belirtilen derece aralığında rastgele döndürerek modelin çeşitli yönlerdeki nesneleri tanıma yeteneğini geliştirir.
translate float 0.1 0.0 - 1.0 Görüntüyü yatay ve dikey olarak görüntü boyutunun bir kısmı kadar çevirerek kısmen görülebilen nesneleri tespit etmeyi öğrenmeye yardımcı olur.
scale float 0.5 >=0.0 Görüntüyü bir kazanç faktörü ile ölçeklendirerek kameradan farklı mesafelerdeki nesneleri simüle eder.
shear float 0.0 -180 - +180 Görüntüyü belirli bir dereceye kadar keserek, farklı açılardan görüntülenen nesnelerin etkisini taklit eder.
perspective float 0.0 0.0 - 0.001 Görüntüye rastgele bir perspektif dönüşümü uygulayarak modelin 3D uzaydaki nesneleri anlama yeteneğini geliştirir.
flipud float 0.0 0.0 - 1.0 Görüntüyü belirtilen olasılıkla ters çevirerek nesnenin özelliklerini etkilemeden veri değişkenliğini artırır.
fliplr float 0.5 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.0 0.0 - 1.0 Görüntü kanallarını belirtilen olasılıkla RGB'den BGR'ye çevirir, yanlış kanal sıralamasına karşı sağlamlığı artırmak için kullanışlıdır.
mosaic float 1.0 0.0 - 1.0 Dört eğitim görüntüsünü tek bir görüntüde birleştirerek farklı sahne kompozisyonlarını ve nesne etkileşimlerini simüle eder. Karmaşık sahneleri anlamak için son derece etkilidir.
mixup float 0.0 0.0 - 1.0 İki görüntüyü ve etiketlerini harmanlayarak bileşik bir görüntü oluşturur. Etiket gürültüsü ve görsel değişkenlik ekleyerek modelin genelleme yeteneğini geliştirir.
copy_paste float 0.0 0.0 - 1.0 Nesneleri görüntüler arasında kopyalar ve yapıştırır, nesne örneklerini artırmak ve nesne tıkanıklığını öğrenmek için kullanışlıdır. Segmentasyon etiketleri gerektirir.
copy_paste_mode str 'flip' - seçenekleri arasından Kopyala-Yapıştır büyütme yöntemi seçimi ("flip", "mixup").
auto_augment str 'randaugment' - Önceden tanımlanmış bir büyütme politikasını otomatik olarak uygular (randaugment, autoaugment, augmix), görsel özellikleri çeşitlendirerek sınıflandırma görevleri için optimize eder.
erasing float 0.4 0.0 - 0.9 Sınıflandırma eğitimi sırasında görüntünün bir kısmını rastgele silerek modeli tanıma için daha az belirgin özelliklere odaklanmaya teşvik eder.
crop_fraction float 1.0 0.1 - 1.0 Merkezi özellikleri vurgulamak ve nesne ölçeklerine uyum sağlamak için sınıflandırma görüntüsünü boyutunun bir kısmına kırparak arka plandaki dikkat dağıtıcı unsurları azaltır.

Veri seti ve görev gereksinimlerini karşılamak için bu ayarları yapın. Farklı değerlerle denemeler yapmak, en iyi model performansı için en uygun artırma stratejisini bulmaya yardımcı olabilir.

Günlük Kaydı, Kontrol Noktaları ve Çizim Ayarları

Bir YOLO modelini eğitirken günlük kaydı, kontrol noktaları, çizim ve dosya yönetimi önemlidir:

  • Günlük kaydı: TensorBoard gibi kütüphaneleri kullanarak veya bir dosyaya yazarak modelin ilerlemesini takip edin ve sorunları teşhis edin.
  • Kontrol Noktaları: Eğitime devam etmek veya farklı konfigürasyonları denemek için modeli düzenli aralıklarla kaydedin.
  • Çizim: Matplotlib veya TensorBoard gibi kütüphaneleri kullanarak performans ve eğitim ilerlemesini görselleştirin.
  • 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üzenleyin.

Bu hususların etkin yönetimi, ilerlemenin izlenmesine yardımcı olur ve hata ayıklama ve optimizasyonu kolaylaştırır.

Tartışma Varsayılan Açıklama
project 'runs' Eğitim çalıştırmalarını kaydetmek için kök dizini belirtir. Her çalıştırma ayrı bir alt dizine kaydedilir.
name 'exp' Deney adını tanımlar. Belirtilmemişse, YOLO her çalıştırma için bu adı artırır (örn, exp, exp2) üzerine yazılmasını önlemek için.
exist_ok False Mevcut bir deney dizininin üzerine yazılıp yazılmayacağını belirler. True üzerine yazmaya izin verir; False engeller.
plots False Eğitim ve doğrulama grafiklerinin oluşturulmasını ve kaydedilmesini kontrol eder. Şuna ayarlayın True kayıp eğrileri gibi grafikler oluşturmak için, hassas-geri çağırma eğrileri ve performansın görsel takibi için örnek tahminler.
save False Eğitim kontrol noktalarının ve son model ağırlıklarının kaydedilmesini sağlar. Şuna ayarlayın True model durumlarını periyodik olarak kaydederek eğitimin yeniden başlatılmasına veya model dağıtımına izin verir.

SSS

Eğitim sırasında YOLO modelimin performansını nasıl artırabilirim?

Yığın boyutu, öğrenme hızı, momentum ve ağırlık azalması gibi hiperparametreleri ayarlayarak performansı artırın. Veri artırma ayarlarını yapın, doğru optimize ediciyi seçin ve erken durdurma veya karışık hassasiyet gibi teknikleri kullanın. Ayrıntılar için Eğitim Kılavuzu'na bakın.

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

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

  • Toplu İş Boyutu (batch): Daha büyük boyutlar eğitimi stabilize edebilir ancak daha fazla belleğe ihtiyaç duyar.
  • Öğrenme Oranı (lr0): Daha küçük oranlar ince ayarlar sunar ancak daha yavaş yakınsama sağlar.
  • Momentum (momentum): Salınımları sönümleyerek gradyan vektörlerini hızlandırır.
  • Görüntü Boyutu (imgsz): Daha büyük boyutlar doğruluğu artırır ancak hesaplama yükünü artırır.

Bunları veri setinize ve donanımınıza göre ayarlayın. Tren Ayarları bölümünde daha fazla bilgi edinin.

Bir YOLO modelini eğitmek için öğrenme oranını nasıl ayarlayabilirim?

Öğrenme oranı (lr0) çok önemlidir; şu şekilde başlayın 0.01 SGD için veya 0.001 için Adam iyileştirici. Metrikleri izleyin ve gerektiğinde ayarlayın. Kosinüs öğrenme oranı zamanlayıcılarını kullanın (cos_lr) veya ısınma (warmup_epochs, warmup_momentum). Ayrıntılar Tren Rehberi.

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

Varsayılan ayarlar şunları içerir:

  • Güven Eşiği (conf=0.25): Tespitler için minimum güven.
  • IoU Eşiği (iou=0.7): İçin Maksimum Olmayan Bastırma (NMS).
  • Görüntü Boyutu (imgsz=640): Giriş görüntülerini yeniden boyutlandırır.
  • Cihaz (device=None): CPU veya GPU'yu seçer.

Tam bir genel bakış için Predict Ayarları ve Predict Kılavuzu'na bakın.

Neden YOLO modelleri ile karma hassas eğitim kullanılmalı?

Karışık hassasiyet eğitim (amp=True) bellek kullanımını azaltır ve FP16 ve FP32 kullanarak eğitimi hızlandırır. Modern GPU'lar için faydalıdır, önemli doğruluk kaybı olmadan daha büyük modellere ve daha hızlı hesaplamalara izin verir. Daha fazla bilgi için Tren Rehberi.

📅1 yıl önce oluşturuldu ✏️ 7 gün önce güncellendi

Yorumlar