İçeriğe geç

ile Model Kıyaslama Ultralytics YOLO

Ultralytics YOLO ekosistem ve entegrasyonlar

Giriş

Modeliniz eğitildikten ve doğrulandıktan sonra, bir sonraki mantıklı adım, çeşitli gerçek dünya senaryolarındaki performansını değerlendirmektir. Ultralytics YOLOv8 adresindeki Benchmark modu, modelinizin hızını ve doğruluğunu çeşitli dışa aktarma biçimlerinde değerlendirmek için sağlam bir çerçeve sağlayarak bu amaca hizmet eder.



İzle: Ultralytics Modlar Eğitimi: Benchmark

Benchmarking Neden Önemlidir?

  • Bilgilendirilmiş Kararlar: Hız ve doğruluk arasındaki dengeler hakkında içgörü 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 hangi dışa aktarma formatının en iyi performansı sunduğunu öğrenin.
  • Maliyet Verimliliği: Kıyaslama sonuçlarına göre donanım kaynaklarını daha verimli kullanın.

Benchmark Modunda Temel Metrikler

  • mAP50-95: Nesne algılama, segmentasyon ve poz tahmini için.
  • accuracy_top5: Görüntü sınıflandırması için.
  • Çıkarım Süresi: Milisaniye cinsinden her görüntü için 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ı: Farklı dağıtım ihtiyaçları için.

İpucu

  • 3 kata kadar CPU hızlandırması için ONNX veya OpenVINO adresine aktarın.
  • 5 kata kadar GPU hızlandırması için TensorRT adresine aktarın.

Kullanım Örnekleri

ONNX, TensorRT vb. dahil olmak üzere desteklenen tüm dışa aktarma biçimlerinde YOLOv8n karşılaştırmalarını çalıştırın. Dışa aktarma argümanlarının tam listesi için aşağıdaki Argümanlar bölümüne bakın.

Örnek

from ultralytics.utils.benchmarks import benchmark

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

Argümanlar

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

Anahtar Varsayılan Değer Açıklama
model None Model dosyasının yolunu belirtir. Her ikisini de kabul eder .pt ve .yaml formatlar, örn, "yolov8n.pt" önceden eğitilmiş modeller veya yapılandırma dosyaları için.
data None Kıyaslama için veri kümesini tanımlayan, tipik olarak doğrulama verileri için yollar ve ayarlar içeren bir YAML dosyasının yolu. Örnek: "coco8.yaml".
imgsz 640 Model için girdi görüntü boyutu. Kare görüntüler için tek bir tamsayı veya bir tuple olabilir (width, height) kare olmayanlar için, örn, (640, 480).
half False FP16 (yarım hassasiyet) çıkarımını etkinleştirerek bellek kullanımını azaltır ve muhtemelen uyumlu donanımlarda hızı artırır. Kullanım half=True etkinleştirmek için.
int8 False Desteklenen cihazlarda daha fazla optimize edilmiş performans için INT8 nicelemeyi etkinleştirir, özellikle uç cihazlar için kullanışlıdır. Ayarla int8=True kullanmak için.
device None Kıyaslama için hesaplama cihaz(lar)ını tanımlar, örneğin "cpu", "cuda:0"veya aşağıdaki gibi bir cihaz listesi "cuda:0,1" çoklu GPU kurulumları için.
verbose False Günlük çıktısındaki ayrıntı düzeyini kontrol eder. Boolean bir değer; ayarla verbose=True ayrıntılı günlükler için veya eşikleme hataları için bir float.

Dışa Aktarma Biçimleri

Benchmark'lar aşağıdaki tüm olası dışa aktarma formatlarında otomatik olarak çalıştırılmaya çalışılacaktır.

Biçim format Tartışma Model Metadata Argümanlar
PyTorch - yolov8n.pt -
TorchScript torchscript yolov8n.torchscript imgsz, optimize, batch
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace, batch
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolov8n.pb imgsz, batch
TF Lite tflite yolov8n.tflite imgsz, half, int8, batch
TF Kenar TPU edgetpu yolov8n_edgetpu.tflite imgsz, batch
TF.js tfjs yolov8n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolov8n_paddle_model/ imgsz, batch
NCNN ncnn yolov8n_ncnn_model/ imgsz, half, batch

Tamamı görün export detaylar İhracat Sayfa.



Oluşturuldu 2023-11-12, Güncellendi 2024-04-27
Yazarlar: glenn-jocher (12), Burhan-Q (1), RizwanMunawar (1), Laughing-q (1), maianumerosky (1)

Yorumlar