Ultralytics YOLO ile Model Kıyaslama

Ultralytics YOLO ecosystem and integrations

Kıyaslama Görselleştirme

Tarayıcıyı Yenile

Olası çerez sorunları nedeniyle grafikleri doğru şekilde görüntülemek için sayfayı yenilemen gerekebilir.

Giriş

Modelin eğitilip doğrulandıktan sonra, bir sonraki mantıksal adım onun çeşitli gerçek dünya senaryolarındaki performansını değerlendirmektir. Ultralytics YOLO26 içindeki Kıyaslama (Benchmark) modu, modelinin hızını ve doğruluğunu bir dizi dışa aktarma formatı genelinde değerlendirmek için sağlam bir çerçeve sunarak bu amaca hizmet eder.



Watch: Benchmark Ultralytics YOLO26 Models | How to Compare Model Performance on Different Hardware?

Kıyaslama Neden Çok Önemlidir?

  • Bilinçli Kararlar: Hız ve doğruluk arasındaki dengeler hakkında içgörüler kazan.
  • Kaynak Tahsisi: Farklı dışa aktarma formatlarının farklı donanımlarda nasıl performans gösterdiğini anla.
  • Optimizasyon: Özel kullanım durumun için en iyi performansı hangi dışa aktarma formatının sunduğunu öğren.
  • Maliyet Verimliliği: Kıyaslama sonuçlarına dayanarak donanım kaynaklarını daha verimli kullan.

Kıyaslama Modundaki Temel Metrikler

Desteklenen Dışa Aktarma Formatları

  • ONNX: Optimum CPU performansı için
  • TensorRT: Maksimum GPU verimliliği için
  • OpenVINO: Intel donanım optimizasyonu için
  • CoreML, TensorFlow SavedModel ve Daha Fazlası: Çeşitli dağıtım ihtiyaçları için.
İpucu
  • 3 kata kadar CPU hız artışı için ONNX veya OpenVINO'ya dışa aktar.
  • 5 kata kadar GPU hız artışı için TensorRT'ye dışa aktar.

Kullanım Örnekleri

Önerilen kurulum

Eksik paketlerden kaçınmak için kıyaslama yapmadan önce dışa aktarma bağımlılıklarıyla birlikte Ultralytics'i kur.

pip install ultralytics[export]

Tüm desteklenen dışa aktarma formatlarında (ONNX, TensorRT, vb.) YOLO26n kıyaslamalarını çalıştır. Dışa aktarma seçeneklerinin tam listesi için aşağıdaki Argümanlar bölümüne bak.

Örnek
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")

Argümanlar

model, data, imgsz, half, device, verbose ve format gibi argümanlar, kullanıcılara kıyaslamaları kendi özel ihtiyaçlarına göre hassas bir şekilde ayarlama ve farklı dışa aktarma formatlarının performansını kolaylıkla karşılaştırma esnekliği sağlar.

AnahtarVarsayılan DeğerAçıklama
modelNoneModel dosyasının yolunu belirtir. Hem .pt hem de .yaml formatlarını kabul eder; örneğin, eğitilmiş modeller veya yapılandırma dosyaları için "yolo26n.pt".
dataNoneKıyaslama için veri kümesini tanımlayan, genellikle doğrulama verileri için yollar ve ayarlar içeren bir YAML dosyasının yolu. Örnek: "coco8.yaml".
imgsz640The input image size for the model. Can be a single integer for square images or a tuple (width, height) for non-square, e.g., (640, 480).
halfFalseFP16 (yarım hassasiyetli) çıkarımı etkinleştirir, bellek kullanımını azaltır ve uyumlu donanımlarda hızı artırabilir. Etkinleştirmek için half=True kullan.
int8FalseDesteklenen cihazlarda daha optimize performans için INT8 nicemlemeyi (quantization) etkinleştirir, özellikle uç cihazlar için kullanışlıdır. Kullanmak için int8=True olarak ayarla.
deviceNoneKıyaslama için hesaplama cihazını/cihazlarını tanımlar; örneğin "cpu" veya "cuda:0".
verboseFalseGünlük çıktısındaki ayrıntı düzeyini kontrol eder. Ayrıntılı günlükler için verbose=True olarak ayarla.
format''Yalnızca belirtilen dışa aktarma formatını kıyaslar (örneğin, format=onnx). Desteklenen her formatı otomatik olarak test etmek için boş bırak.

Dışa Aktarma Formatları

Kıyaslamalar, aşağıda listelenen tüm olası dışa aktarma formatlarında otomatik olarak çalışmayı deneyecektir. Alternatif olarak, aşağıda belirtilen formatlardan herhangi birini kabul eden format argümanını kullanarak belirli bir format için kıyaslama çalıştırabilirsin.

Formatformat ArgümanıModelMeta veriArgümanlar
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, int8, data, fraction, device
DeepXdeepxyolo26n_deepx_model/imgsz, int8, data, optimize, device

Tam export ayrıntıları için Dışa Aktarma sayfasına bak.

SSS

Ultralytics kullanarak YOLO26 modelimin performansını nasıl kıyaslayabilirim?

Ultralytics YOLO26, modelinin performansını farklı dışa aktarma formatlarında değerlendirmek için bir Kıyaslama modu sunar. Bu mod, mean Average Precision (mAP50-95), doğruluk ve milisaniye cinsinden çıkarım süresi gibi temel metrikler hakkında içgörüler sağlar. Kıyaslamaları çalıştırmak için Python veya CLI komutlarını kullanabilirsin. Örneğin, bir GPU üzerinde kıyaslama yapmak için:

Örnek
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

Kıyaslama argümanları hakkında daha fazla ayrıntı için Argümanlar bölümünü ziyaret et.

YOLO26 modellerini farklı formatlara dışa aktarmanın faydaları nelerdir?

YOLO26 modellerini ONNX, TensorRT ve OpenVINO gibi farklı formatlara dışa aktarmak, performansı dağıtım ortamına göre optimize etmeni sağlar. Örneğin:

  • ONNX: 3 kata kadar CPU hız artışı sağlar.
  • TensorRT: 5 kata kadar GPU hız artışı sunar.
  • OpenVINO: Özellikle Intel donanımı için optimize edilmiştir.

Bu formatlar, modellerinin hem hızını hem de doğruluğunu artırarak onları çeşitli gerçek dünya uygulamaları için daha verimli hale getirir. Tam ayrıntılar için Dışa Aktarma sayfasını ziyaret et.

YOLO26 modellerini değerlendirmede kıyaslama neden çok önemlidir?

YOLO26 modellerini kıyaslamak birkaç nedenden dolayı önemlidir:

  • Bilinçli Kararlar: Hız ve doğruluk arasındaki dengeleri anla.
  • Kaynak Tahsisi: Farklı donanım seçenekleri genelindeki performansı ölç.
  • Optimizasyon: Özel kullanım durumları için hangi dışa aktarma formatının en iyi performansı sunduğunu belirle.
  • Maliyet Verimliliği: Kıyaslama sonuçlarına göre donanım kullanımını optimize et.

mAP50-95, Top-5 doğruluğu ve çıkarım süresi gibi temel metrikler bu değerlendirmeleri yapmaya yardımcı olur. Daha fazla bilgi için Kıyaslama Modundaki Temel Metrikler bölümüne başvur.

YOLO26 hangi dışa aktarma formatlarını destekler ve avantajları nelerdir?

YOLO26, her biri belirli donanım ve kullanım durumları için uyarlanmış çeşitli dışa aktarma formatlarını destekler:

  • ONNX: CPU performansı için en iyisi.
  • TensorRT: GPU verimliliği için idealdir.
  • OpenVINO: Intel donanımı için optimize edilmiştir.
  • CoreML & TensorFlow: iOS ve genel ML uygulamaları için kullanışlıdır.

Desteklenen formatların tam listesi ve ilgili avantajları için Desteklenen Dışa Aktarma Formatları bölümüne göz at.

YOLO26 kıyaslamalarımı hassas şekilde ayarlamak için hangi argümanları kullanabilirim?

Kıyaslamaları çalıştırırken, özel ihtiyaçlara uyacak şekilde çeşitli argümanlar özelleştirilebilir:

  • model: Model dosyasının yolu (örneğin, "yolo26n.pt").
  • data: Veri kümesini tanımlayan bir YAML dosyasının yolu (örneğin, "coco8.yaml").
  • imgsz: Tek bir tam sayı veya bir demet olarak giriş görüntüsü boyutu.
  • half: Daha iyi performans için FP16 çıkarımı etkinleştir.
  • int8: Uç cihazlar için INT8 nicemlemeyi etkinleştir.
  • device: Hesaplama cihazını belirt (örneğin, "cpu", "cuda:0").
  • verbose: Günlük ayrıntı düzeyini kontrol et.

Argümanların tam listesi için Argümanlar bölümüne başvur.

Yorumlar