Ultralytics YOLO ile Model Kıyaslama
Karşılaştırma Görselleştirmesi
Tarayıcıyı Yenile
Olası çerez sorunları nedeniyle grafikleri doğru görüntülemek için sayfayı yenilemeniz gerekebilir.
Giriş
Modeliniz eğitildikten ve doğrulandıktan sonra, bir sonraki mantıksal adım, performansını çeşitli gerçek dünya senaryolarında değerlendirmektir. Ultralytics YOLO11'deki kıyaslama modu, modelinizin hızını ve doğruluğunu bir dizi dışa aktarma formatında değerlendirmek için sağlam bir çerçeve sağlayarak bu amaca hizmet eder.
İzle: Ultralytics YOLO11 Modellerini Kıyaslama | Model Performansı Farklı Donanımlarda Nasıl Karşılaştırılır?
Kıyaslama Neden Çok Önemli?
- Bilinçli Kararlar: Hız ve doğruluk arasındaki ödünleşimler hakkında bilgi edinin.
- Kaynak Tahsisi: Farklı dışa aktarma biçimlerinin farklı donanımlarda nasıl performans gösterdiğini anlayın.
- Optimizasyon: Belirli kullanım durumunuz için hangi dışa aktarma biçiminin en iyi performansı sunduğunu öğrenin.
- Maliyet Verimliliği: Kıyaslama sonuçlarına göre donanım kaynaklarını daha verimli kullanın.
Kıyaslama 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: Her görüntü için milisaniye cinsinden geçen süre.
Desteklenen Dışa Aktarma Biçimleri
- 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ızlandırması için ONNX veya OpenVINO'ya aktarın.
- 5 kata kadar GPU hızlandırması için TensorRT'ye aktarın.
Kullanım Örnekleri
ONNX, TensorRT vb. dahil olmak üzere desteklenen tüm dışa aktarma biçimlerinde YOLO11n kıyaslamaları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="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
# Benchmark specific export format
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0
# Benchmark specific export format
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 format=onnx
Argümanlar
Gibi argümanlar model
, data
, imgsz
, half
, device
, verbose
ve format
kullanıcılara kıyaslamaları kendi özel ihtiyaçlarına göre ince ayar yapma ve farklı dışa aktarma biçimlerinin 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. Her ikisini de kabul eder .pt ve .yaml biçimler, örneğin, "yolo11n.pt" önceden eğitilmiş modeller veya yapılandırma dosyaları için. |
data |
None |
Genellikle yollar ve ayarlar dahil olmak üzere, kıyaslama için veri kümesini tanımlayan bir YAML dosyasının yolu doğrulama verilerinin yolları. Ö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 demet olabilir (width, height) kare olmayanlar için, örneğin, (640, 480) . |
half |
False |
FP16 (yarı duyarlıklı) çıkarımı etkinleştirir, bellek kullanımını azaltır ve uyumlu donanımda hızı artırabilir. Kullanım half=True etkinleştirmek için. |
int8 |
False |
Desteklenen cihazlarda, özellikle uç cihazlarda daha da optimize edilmiş performans için INT8 nicelemesini etkinleştirir. Ayarla int8=True kullanmak için. |
device |
None |
Karşılaştırma için kullanılan işlem cihazlarını tanımlar, örneğin "cpu" veya "cuda:0" . |
verbose |
False |
Günlük çıktısındaki ayrıntı düzeyini kontrol eder. Ayarla verbose=True ayrıntılı günlükler için. |
format |
'' |
Modeli tek bir dışa aktarma formatında kıyaslayın. örneğin format=onnx |
Dışa Aktarma Biçimleri
Kıyaslamalar, aşağıda listelenen tüm olası dışa aktarma formatlarında otomatik olarak çalışmaya çalışacaktır. Alternatif olarak, kullanarak belirli bir format için kıyaslamalar çalıştırabilirsiniz. format
aşağıda belirtilen biçimlerden herhangi birini kabul eden argüman.
Format | format Argüman |
Model | Meta Veri | Argümanlar |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , half , optimize , nms , batch , device |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , nms , batch , device |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , dynamic , int8 , nms , batch , data , fraction , device |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , nms , batch , data , fraction , device |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch , device |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , nms , batch , device |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch , device |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , nms , batch , data , fraction , device |
TF Edge TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz , device |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , nms , batch , device |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch , device |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half , device |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch , device |
IMX500 | imx |
yolo11n_imx_model/ |
✅ | imgsz , int8 , data , fraction , device |
RKNN | rknn |
yolo11n_rknn_model/ |
✅ | imgsz , batch , name , device |
Tamamını görün export
ayrıntıları Dışa aktar sayfasında bulabilirsiniz.
SSS
Ultralytics kullanarak YOLO11 modelimin performansını nasıl karşılaştırabilirim?
Ultralytics YOLO11, modelinizin farklı dışa aktarma formatlarındaki performansını değerlendirmek için bir Benchmark modu sunar. Bu mod, ortalama Hassasiyet (mAP50-95), doğruluk ve milisaniye cinsinden çıkarım süresi gibi temel metrikler hakkında bilgiler sağlar. Kıyaslama testlerini çalıştırmak için Python veya CLI komutlarını kullanabilirsiniz. Örneğin, bir GPU üzerinde kıyaslama yapmak için:
Örnek
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0
Benchmark argümanları hakkında daha fazla bilgi için Argümanlar bölümünü ziyaret edin.
YOLO11 modellerini farklı formatlara aktarmanın faydaları nelerdir?
YOLO11 modellerini ONNX, TensorRT ve OpenVINO gibi farklı formatlara aktarmak, dağıtım ortamınıza göre performansı optimize etmenizi sağlar. Örneğin:
- ONNX: 3 kata kadar CPU hızlandırması sağlar.
- TensorRT: 5 kata kadar GPU hızlandırması sunar.
- OpenVINO: Özellikle Intel donanımı için optimize edilmiştir.
Bu formatlar, modellerinizin hem hızını hem de doğruluğunu artırarak, çeşitli gerçek dünya uygulamaları için daha verimli hale getirir. Eksiksiz ayrıntılar için Dışa Aktar sayfasını ziyaret edin.
YOLO11 modellerini değerlendirmede kıyaslama neden çok önemlidir?
YOLO11 modellerinizi kıyaslamak çeşitli nedenlerle önemlidir:
- Bilinçli Kararlar: Hız ve doğruluk arasındaki ödünleşimleri anlayın.
- Kaynak Tahsisi: Farklı donanım seçeneklerindeki performansı ölçün.
- Optimizasyon: Belirli kullanım durumları için hangi dışa aktarma biçiminin en iyi performansı sunduğunu belirleyin.
- Maliyet Verimliliği: Donanım kullanımını kıyaslama sonuçlarına göre optimize edin.
mAP50-95, En İyi 5 doğruluk ve çıkarım süresi gibi temel metrikler, bu değerlendirmelerin yapılmasına yardımcı olur. Daha fazla bilgi için Temel Metrikler bölümüne bakın.
YOLO11 hangi dışa aktarım formatlarını destekliyor ve bunların avantajları nelerdir?
YOLO11, 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 ve ilgili avantajlarının tam listesi için Desteklenen Dışa Aktarma Formatları bölümüne göz atın.
YOLO11 kıyaslamalarımda ince ayar yapmak için hangi argümanları kullanabilirim?
Kıyaslama testleri çalıştırırken, belirli ihtiyaçlara uyacak şekilde çeşitli argümanlar özelleştirilebilir:
- model: Model dosyasının yolu (örneğin, "yolo11n.pt").
- veri: Veri kümesini tanımlayan bir YAML dosyasının yolu (örneğin, "coco8.yaml").
- imgsz: Giriş görüntü boyutu, tek bir tamsayı veya bir demet olarak.
- half: Daha iyi performans için FP16 çıkarımını etkinleştirin.
- int8: Kenar cihazları için INT8 nicelemesini etkinleştirin.
- device: Hesaplama cihazını belirtin (örneğin, "cpu", "cuda:0").
- verbose: Günlük kaydı ayrıntı düzeyini kontrol edin.
Argümanların tam listesi için Argümanlar bölümüne bakın.