Ultralytics YOLO ile Model Karşılaştırmalı Analizi#
Karşılaştırma Görselleştirmesi#
Olası çerez sorunları nedeniyle grafikleri doğru görüntülemek için sayfayı yenilemeniz gerekebilir.
Giriş#
Modelin eğitilip doğrulandıktan sonra, bir sonraki mantıksal adım performansını çeşitli gerçek dünya senaryolarında değerlendirmektir. Ultralytics YOLO26 içindeki Benchmark modu, modelinin hızını ve accuracy değerini çeşitli dışa aktarım formatları üzerinden değerlendirmek için güçlü bir altyapı sağlayarak bu amaçla hizmet eder.
Watch: Benchmark Ultralytics YOLO26 Models | How to Compare Model Performance on Different Hardware?
Karşılaştırmalı Analiz Neden Önemlidir?#
- Bilinçli Kararlar: Hız ve doğruluk arasındaki dengeler hakkında içgörüler kazanın.
- Kaynak Tahsisi: Farklı dışa aktarma formatlarının farklı donanımlarda nasıl performans gösterdiğini anlayın.
- Optimizasyon: Özel kullanım durumunuz için en iyi performansı hangi dışa aktarma formatının sunduğunu öğrenin.
- Maliyet Verimliliği: Karşılaştırmalı analiz sonuçlarına dayanarak donanım kaynaklarını daha verimli kullanın.
Benchmark Modundaki Ana Metrikler#
- mAP50-95: Object detection, segmentasyon ve poz kestirimi için.
- accuracy_top1: Image classification için.
- Çıkarım Süresi: Her görüntü için milisaniye cinsinden geçen süre.
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.
- 3 katına kadar CPU hız artışı için ONNX veya OpenVINO formatına dışa aktarın.
- 5 katına kadar GPU hız artışı için TensorRT formatına dışa aktarın.
Kullanım Örnekleri#
Eksik paketleri önlemek için karşılaştırmalı analize başlamadan önce Ultralytics paketini dışa aktarma bağımlılıklarıyla birlikte kurun.
pip install ultralytics[export]Tüm desteklenen dışa aktarma formatlarında (ONNX, TensorRT, vb.) YOLO26n karşılaştırmalı analizlerini çalıştırın. Dışa aktarma seçeneklerinin tam listesi için aşağıdaki Argümanlar bölümüne bakın.
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, device=0)
# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")Argümanlar#
model, data, imgsz, quantize, device, verbose ve format gibi argümanlar, kullanıcılara kıyaslamaları kendi özel ihtiyaçlarına göre ince ayar yapma ve farklı dışa aktarım formatlarının performansını kolayca karşılaştırma esnekliği sağlar.
| Anahtar | Varsayılan Değer | Açıklama |
|---|---|---|
model | None | Model dosyasının yolunu belirtir. Ön eğitimli modeller veya yapılandırma dosyaları için "yolo26n.pt" gibi hem .pt hem de .yaml formatlarını kabul eder. |
data | None | Kıyaslama için veri setini tanımlayan, tipik olarak validation data yollarını ve ayarlarını içeren bir YAML dosyasının yolu. Örnek: "coco8.yaml". |
imgsz | 640 | Model için girdi resmi boyutu. Kare resimler için tek bir tamsayı olmalıdır (örn. 640); benchmark() yalnızca kare resim boyutlarını destekler. |
quantize | None | Niceleme hassasiyeti: 16 (FP16) veya 8 (INT8/PTQ; data/fraction kalibrasyonu gerektirir); 32/ayarlanmamış FP32'dir. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır. |
device | 'cpu' | "cpu" veya "cuda:0" gibi kıyaslama için hesaplama cihazını veya cihazlarını tanımlar. |
verbose | False | Günlük kaydı çıktısındaki ayrıntı düzeyini kontrol eder. Ayrıntılı günlükler için verbose=True ayarla. |
eps | 0.001 | FPS'ye dönüştürmeden önce görüntü başına çıkarım süresine eklenen ve sıfıra bölmeyi önleyen küçük epsilon (milisaniye). Nadiren değiştirilir. |
format | '' | Yalnızca belirtilen dışa aktarım formatını kıyaslar (örn. format=onnx). Desteklenen tüm formatları otomatik olarak test etmek için boş bırak. |
Bağımsız benchmark() fonksiyonu (from ultralytics.utils.benchmarks import benchmark), yukarıdaki tablo değerleri yerine, özellikle model="yolo26n.pt" ve imgsz=160 olmak üzere kendi imza varsayılan değerlerini kullanır; yolo benchmark CLI ile eşleşmesi için açıkça imgsz aktar.
Dışa Aktarma Formatları#
Kıyaslamalar, aşağıda listelenen tüm olası dışa aktarım 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ıyaslamalar çalıştırabilirsin.
| Format | format Argümanı | Model | Meta veriler | Argümanlar |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, quantize, dynamic, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, quantize, dynamic, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, quantize, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, quantize, opset, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, opset, batch, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, quantize, opset, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, dynamic, quantize, simplify, opset, nms, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, quantize, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, quantize, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, quantize, simplify, opset, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, quantize, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, quantize, simplify, opset, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn.onnx | ✅ | imgsz, batch, name, quantize, simplify, opset, data, fraction, device |
| LiteRT | litert | yolo26n.tflite | ✅ | imgsz, quantize, batch, data, fraction, device |
| Hailo | hailo | yolo26n_hailo_model/ | ✅ | imgsz, name, quantize, data, fraction, simplify, conf, iou |
| Huawei Ascend | ascend | yolo26n_ascend_model/ | ✅ | imgsz, batch, name, quantize, opset, simplify, nms |
Tam export ayrıntılarını Dışa Aktar sayfasında görün.
SSS#
Ultralytics kullanarak YOLO26 modelimin performansını nasıl kıyaslarım?#
Ultralytics YOLO26, modelinin performansını farklı dışa aktarım formatlarında değerlendirmek için bir Benchmark modu sunar. Bu mod; mean Average Precision (mAP50-95), doğruluk ve milisaniye cinsinden çıkarım süresi gibi temel metrikler hakkında bilgi 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:
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, device=0)Benchmark argümanları hakkında daha fazla detay için Arguments bölümünü ziyaret et.
YOLO26 modellerini farklı formatlara aktarmanın avantajları nelerdir?#
YOLO26 modellerini ONNX, TensorRT ve OpenVINO gibi farklı formatlara dışa aktarmak, dağıtım ortamına göre performansı 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. Tüm ayrıntılar için Export 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 ödünleşimleri anla.
- Kaynak Tahsisi: Farklı donanım seçenekleri genelindeki performansı ölç.
- Optimizasyon: Belirli 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-1 doğruluğu ve çıkarım süresi gibi temel metrikler bu değerlendirmelerin yapılmasına yardımcı olur. Daha fazla bilgi için Key Metrics bölümüne başvur.
YOLO26 tarafından hangi dışa aktarma formatları destekleniyor ve avantajları nelerdir?#
YOLO26, her biri belirli donanım ve kullanım durumları için özel olarak hazırlanmış çeşitli dışa aktarma formatlarını destekler:
- ONNX: CPU performansı için en iyisi.
- TensorRT: GPU verimliliği için ideal.
- 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 eksiksiz bir listesi ve ilgili avantajları için Supported Export Formats bölümüne göz at.
YOLO26 kıyaslamalarımı ince ayar yapmak için hangi argümanları kullanabilirim?#
Kıyaslama yaparken, belirli ihtiyaçlara uyacak şekilde özelleştirilebilen birkaç argüman vardır:
- model: Model dosyasının yolu (örn. "yolo26n.pt").
- data: Veri kümesini tanımlayan bir YAML dosyasının yolu (örn. "coco8.yaml").
- imgsz:
640gibi tek bir tamsayı olarak kare girdi resmi boyutu. Benchmark modu, adil bir karşılaştırma için PyTorch ve dışa aktarılan formatlar arasında aynı kare resim boyutunu kullanır. - quantize: Niceleme hassasiyeti: FP16 için
16, INT8 için8(uç cihazlar için yararlıdır);32/ayarlanmamış FP32'dir. - device: Hesaplama cihazını belirt (örn. "cpu", "cuda:0").
- verbose: Günlük kaydı ayrıntı düzeyini kontrol et.
Argümanların tam listesi için Arguments bölümüne başvur.