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

मॉडल निर्यात के साथ Ultralytics YOLO

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

परिचय

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



सतर्कता: कस्टम प्रशिक्षित निर्यात करने के लिए कैसे Ultralytics YOLOv8 वेबकैम पर लाइव अनुमान मॉडल और चलाएं।

क्यों चुनें YOLOv8निर्यात मोड?

  • बहुमुखी प्रतिभा: सहित कई प्रारूपों में निर्यात करें ONNX, TensorRT, CoreML, और अधिक।
  • प्रदर्शन: इसके साथ 5x GPU स्पीडअप प्राप्त करें TensorRT और 3x CPU स्पीडअप के साथ ONNX नहीं तो OpenVINO.
  • अनुकूलता: अपने मॉडल को कई हार्डवेयर और सॉफ्टवेयर वातावरणों में सार्वभौमिक रूप से तैनात करने योग्य बनाएं।
  • उपयोग में आसानी: सरल CLI और Python त्वरित और सीधा मॉडल निर्यात के लिए एपीआई।

निर्यात मोड की मुख्य विशेषताएं

यहाँ कुछ असाधारण कार्यक्षमताएं दी गई हैं:

  • एक-क्लिक निर्यात: विभिन्न स्वरूपों में निर्यात करने के लिए सरल कमांड।
  • बैच निर्यात: निर्यात बैच-अनुमान सक्षम मॉडल।
  • अनुकूलित अनुमान: निर्यात किए गए मॉडल त्वरित अनुमान समय के लिए अनुकूलित हैं।
  • ट्यूटोरियल वीडियो: एक चिकनी निर्यात अनुभव के लिए गहन गाइड और ट्यूटोरियल।

नोक

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

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

निर्यात a YOLOv8n मॉडल को किसी भिन्न प्रारूप में जैसे ONNX नहीं तो TensorRT. निर्यात तर्कों की पूरी सूची के लिए नीचे तर्क अनुभाग देखें।

उदाहरण

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # load an official model
model = YOLO('path/to/best.pt')  # load a custom trained model

# Export the model
model.export(format='onnx')
yolo export model=yolov8n.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

तर्क

यह तालिका निर्यात के लिए उपलब्ध कॉन्फ़िगरेशन और विकल्पों का विवरण देती है YOLO विभिन्न स्वरूपों के लिए मॉडल। निर्यात किए गए मॉडल के प्रदर्शन, आकार और विभिन्न प्लेटफार्मों और परिवेशों में संगतता को अनुकूलित करने के लिए ये सेटिंग्स महत्वपूर्ण हैं। उचित कॉन्फ़िगरेशन सुनिश्चित करता है कि मॉडल इष्टतम दक्षता के साथ इच्छित एप्लिकेशन में तैनाती के लिए तैयार है।

युक्ति प्रकार चूक विवरण: __________
format str 'torchscript' निर्यात किए गए मॉडल के लिए लक्ष्य प्रारूप, जैसे 'onnx', 'torchscript', 'tensorflow', या अन्य, विभिन्न परिनियोजन वातावरणों के साथ संगतता को परिभाषित करना।
imgsz int नहीं तो tuple 640 मॉडल इनपुट के लिए वांछित छवि आकार। वर्ग छवियों या एक टपल के लिए एक पूर्णांक हो सकता है (height, width) विशिष्ट आयामों के लिए।
keras bool False के लिए केरस प्रारूप में निर्यात सक्षम करता है TensorFlow SavedModel, के साथ संगतता प्रदान करना TensorFlow सेवारत और एपीआई।
optimize bool False निर्यात करते समय मोबाइल उपकरणों के लिए ऑप्टिमाइज़ेशन लागू करता है TorchScript, संभावित रूप से मॉडल के आकार को कम करने और प्रदर्शन में सुधार करने के लिए।
half bool False FP16 (अर्ध-परिशुद्धता) परिमाणीकरण को सक्षम करता है, मॉडल आकार को कम करता है और समर्थित हार्डवेयर पर संभावित रूप से अनुमान को तेज करता है।
int8 bool False INT8 परिमाणीकरण को सक्रिय करता है, मॉडल को और संपीड़ित करता है और न्यूनतम सटीकता हानि के साथ अनुमान को तेज करता है, मुख्य रूप से किनारे उपकरणों के लिए।
dynamic bool False के लिए गतिशील इनपुट आकार की अनुमति देता है ONNX और TensorRT निर्यात, अलग-अलग छवि आयामों को संभालने में लचीलापन बढ़ाना।
simplify bool False के लिए मॉडल ग्राफ को सरल करता है ONNX निर्यात, संभावित रूप से प्रदर्शन और संगतता में सुधार।
opset int None निर्दिष्ट करता है ONNX विभिन्न के साथ संगतता के लिए opset संस्करण ONNX पार्सर और रनटाइम। यदि सेट नहीं है, तो नवीनतम समर्थित संस्करण का उपयोग करता है।
workspace float 4.0 के लिए GB में अधिकतम कार्यस्थान आकार सेट करता है TensorRT अनुकूलन, स्मृति उपयोग और प्रदर्शन को संतुलित करना।
nms bool False गैर-अधिकतम दमन (NMS) जोड़ता है CoreML निर्यात, प्रसंस्करण के बाद सटीक और कुशल पहचान के लिए आवश्यक।

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

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

सुलभ YOLOv8 निर्यात प्रारूप नीचे दी गई तालिका में हैं। आप का उपयोग करके किसी भी प्रारूप में निर्यात कर सकते हैं format तर्क, अर्थात। format='onnx' नहीं तो format='engine'.

प्रारूप 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


2023-11-12 बनाया गया, अपडेट किया गया 2024-03-01
लेखक: ग्लेन-जोचर (10), बुरहान-क्यू (1)

टिप्पणियाँ