सामग्री पर जाएं

मॉडल बेंचमार्किंग के साथ Ultralytics YOLO

Ultralytics YOLO पारिस्थितिकी तंत्र और एकीकरण

परिचय

एक बार जब आपका मॉडल प्रशिक्षित और मान्य हो जाता है, तो अगला तार्किक कदम विभिन्न वास्तविक दुनिया परिदृश्यों में इसके प्रदर्शन का मूल्यांकन करना है। बेंचमार्क मोड में Ultralytics YOLOv8 निर्यात प्रारूपों की एक श्रृंखला में आपके मॉडल की गति और सटीकता का आकलन करने के लिए एक मजबूत ढांचा प्रदान करके इस उद्देश्य को पूरा करता है।



सतर्कता: Ultralytics मोड ट्यूटोरियल: बेंचमार्क

बेंचमार्किंग क्यों महत्वपूर्ण है?

  • सूचित निर्णय: गति और सटीकता के बीच व्यापार-नापसंद में अंतर्दृष्टि प्राप्त करें।
  • संसाधन आवंटन: समझें कि विभिन्न निर्यात प्रारूप विभिन्न हार्डवेयर पर कैसा प्रदर्शन करते हैं।
  • अनुकूलन: जानें कि कौन सा निर्यात प्रारूप आपके विशिष्ट उपयोग के मामले के लिए सर्वश्रेष्ठ प्रदर्शन प्रदान करता है।
  • लागत क्षमता: बेंचमार्क परिणामों के आधार पर हार्डवेयर संसाधनों का अधिक कुशल उपयोग करें।

बेंचमार्क मोड में प्रमुख मीट्रिक

  • एमएपी 50-95: वस्तु का पता लगाने, विभाजन और मुद्रा अनुमान के लिए।
  • accuracy_top5: छवि वर्गीकरण के लिए।
  • अनुमान समय: मिलीसेकंड में प्रत्येक छवि के लिए लिया गया समय।

समर्थित निर्यात प्रारूप

  • ONNX: इष्टतम CPU प्रदर्शन के लिए
  • TensorRT: अधिकतम GPU दक्षता के लिए
  • OpenVINO: इंटेल हार्डवेयर अनुकूलन के लिए
  • CoreML, TensorFlow SavedModel, और अधिक: विविध परिनियोजन आवश्यकताओं के लिए।

नोक

  • को निर्यात करें ONNX नहीं तो OpenVINO 3x CPU स्पीडअप तक।
  • को निर्यात करें TensorRT 5x GPU स्पीडअप तक।

उपयोग के उदाहरण

चलाना YOLOv8n सहित सभी समर्थित निर्यात प्रारूपों पर बेंचमार्क ONNX, TensorRT आदि। निर्यात तर्कों की पूरी सूची के लिए नीचे तर्क अनुभाग देखें।

उदाहरण

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

तर्क

तर्क जैसे model, data, imgsz, half, deviceऔर verbose उपयोगकर्ताओं को उनकी विशिष्ट आवश्यकताओं के लिए बेंचमार्क को ठीक करने और आसानी से विभिन्न निर्यात प्रारूपों के प्रदर्शन की तुलना करने के लिए लचीलापन प्रदान करें।

अत्‍यंत महत्वपूर्ण डिफ़ॉल्ट मान विवरण: __________
model None मॉडल फ़ाइल का पथ निर्दिष्ट करता है। दोनों को स्वीकार करता है .pt और .yaml प्रारूप, जैसे, "yolov8n.pt" पूर्व-प्रशिक्षित मॉडल या कॉन्फ़िगरेशन फ़ाइलों के लिए।
data None बेंचमार्किंग के लिए डेटासेट को परिभाषित करने वाली YAML फ़ाइल का पथ, आमतौर पर सत्यापन डेटा के लिए पथ और सेटिंग्स सहित। उदाहरण: "coco128.yaml".
imgsz 640 मॉडल के लिए इनपुट छवि का आकार। वर्ग छवियों या एक टपल के लिए एकल पूर्णांक हो सकता है (width, height) गैर-वर्ग के लिए, जैसे, (640, 480).
half False FP16 (अर्ध-परिशुद्धता) अनुमान सक्षम करता है, स्मृति उपयोग को कम करता है और संगत हार्डवेयर पर संभवतः गति बढ़ाता है। प्रयोग half=True सक्षम करने के लिए।
int8 False समर्थित उपकरणों पर आगे अनुकूलित प्रदर्शन के लिए INT8 परिमाणीकरण को सक्रिय करता है, विशेष रूप से किनारे उपकरणों के लिए उपयोगी। अस्त हो int8=True का उपयोग करना।
device None बेंचमार्किंग के लिए गणना डिवाइस (उपकरणों) को परिभाषित करता है, जैसे "cpu", "cuda:0", या उपकरणों की एक सूची जैसे "cuda:0,1" मल्टी-जीपीयू सेटअप के लिए।
verbose False लॉगिंग आउटपुट में विवरण के स्तर को नियंत्रित करता है। एक बूलियन मूल्य; अस्त हो verbose=True विस्तृत लॉग या थ्रेसहोल्डिंग त्रुटियों के लिए एक फ्लोट के लिए।

निर्यात प्रारूप

बेंचमार्क नीचे दिए गए सभी संभावित निर्यात प्रारूपों पर स्वचालित रूप से चलने का प्रयास करेंगे।

प्रारूप format युक्ति को गढ़ना मेटाडेटा तर्क
PyTorch - yolov8n.pt -
TorchScript torchscript yolov8n.torchscript imgsz, optimize
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset
OpenVINO openvino yolov8n_openvino_model/ imgsz, half, int8
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms
TF SavedModel saved_model yolov8n_saved_model/ imgsz, keras, int8
TF GraphDef pb yolov8n.pb imgsz
TF लाइट tflite yolov8n.tflite imgsz, half, int8
TF किनारा TPU edgetpu yolov8n_edgetpu.tflite imgsz
TF।जे एस tfjs yolov8n_web_model/ imgsz, half, int8
PaddlePaddle paddle yolov8n_paddle_model/ imgsz
NCNN ncnn yolov8n_ncnn_model/ imgsz, half

पूरा देखें export में विवरण निर्यातित माल पृष्ठ।



2023-11-12 बनाया गया, अपडेट किया गया 2024-03-01
लेखक: ग्लेन-जोचर (10), chr043416@gmail.com (1), लाफिंग-क्यू (1), मैयान्यूरोस्की (1)

टिप्पणियाँ