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

इंटेल OpenVINO निर्यातित माल

OpenVINO पारिस्थितिकी तंत्र

इस गाइड में, हम निर्यात को कवर करते हैं YOLOv8 करने के लिए मॉडल OpenVINO प्रारूप, जो 3x CPU स्पीडअप तक प्रदान कर सकता है, साथ ही साथ गति भी प्रदान कर सकता है YOLO Intel GPU और NPU हार्डवेयर पर अनुमान।

OpenVINO, ओपन विजुअल इनफेरेंस एंड न्यूरल नेटवर्क ऑप्टिमाइज़ेशन टूलकिट के लिए संक्षिप्त, एआई अनुमान मॉडल के अनुकूलन और तैनाती के लिए एक व्यापक टूलकिट है। भले ही नाम में दृश्य हो, OpenVINO भाषा, ऑडियो, समय श्रृंखला आदि सहित विभिन्न अतिरिक्त कार्यों का भी समर्थन करता है।



सतर्कता: कैसे निर्यात और अनुकूलन करने के लिए Ultralytics YOLOv8 के साथ अनुमान के लिए मॉडल OpenVINO.

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

निर्यात a YOLOv8n मॉडल को OpenVINO निर्यात किए गए मॉडल के साथ अनुमान को प्रारूपित और चलाएं।

उदाहरण

from ultralytics import YOLO

# Load a YOLOv8n PyTorch model
model = YOLO("yolov8n.pt")

# Export the model
model.export(format="openvino")  # creates 'yolov8n_openvino_model/'

# Load the exported OpenVINO model
ov_model = YOLO("yolov8n_openvino_model/")

# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to OpenVINO format
yolo export model=yolov8n.pt format=openvino  # creates 'yolov8n_openvino_model/'

# Run inference with the exported model
yolo predict model=yolov8n_openvino_model source='https://ultralytics.com/images/bus.jpg'

तर्क

अत्‍यंत महत्वपूर्ण मूल्य या क़िस्‍म
format 'openvino' निर्यात करने के लिए प्रारूप
imgsz 640 स्केलर या (एच, डब्ल्यू) सूची के रूप में छवि का आकार, यानी (640, 480)
half False FP16 परिमाणीकरण

के लाभ OpenVINO

  1. प्रदर्शन: OpenVINO इंटेल सीपीयू, एकीकृत और असतत जीपीयू और एफपीजीए की शक्ति का उपयोग करके उच्च-प्रदर्शन अनुमान प्रदान करता है।
  2. विषम निष्पादन के लिये समर्थन: OpenVINO एक बार लिखने और किसी भी समर्थित इंटेल हार्डवेयर (सीपीयू, जीपीयू, एफपीजीए, वीपीयू, आदि) पर तैनात करने के लिए एक एपीआई प्रदान करता है।
  3. मॉडल अनुकूलक: OpenVINO एक मॉडल ऑप्टिमाइज़र प्रदान करता है जो लोकप्रिय गहन शिक्षण ढांचे से मॉडल आयात, परिवर्तित और अनुकूलित करता है जैसे कि PyTorch, TensorFlow, TensorFlow लाइट, केरास, ONNX, PaddlePaddle, और कैफे।
  4. उपयोग में आसानी: टूलकिट 80 से अधिक ट्यूटोरियल नोटबुक (सहित YOLOv8 अनुकूलन) टूलकिट के विभिन्न पहलुओं को पढ़ाना।

OpenVINO निर्यात संरचना

जब आप किसी मॉडल को निर्यात करते हैं OpenVINO प्रारूप, इसका परिणाम एक निर्देशिका में होता है जिसमें निम्नलिखित होते हैं:

  1. XML फ़ाइल: नेटवर्क टोपोलॉजी का वर्णन करता है.
  2. बिन फ़ाइल: इसमें weights and biases बाइनरी डेटा।
  3. मैपिंग फ़ाइल: मूल मॉडल आउटपुट टेंसर की मैपिंग को पकड़ता है OpenVINO tensor नाम।

आप इन फ़ाइलों का उपयोग अनुमान के साथ चलाने के लिए कर सकते हैं OpenVINO अनुमान इंजन।

का उपयोग करके OpenVINO परिनियोजन में निर्यात

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

याद रखें, आपको रनटाइम के साथ मॉडल को सही ढंग से सेट अप करने और उपयोग करने के लिए XML और BIN फ़ाइलों के साथ-साथ किसी भी एप्लिकेशन-विशिष्ट सेटिंग्स जैसे इनपुट आकार, सामान्यीकरण के लिए स्केल फैक्टर आदि की आवश्यकता होगी।

आपके परिनियोजन अनुप्रयोग में, आप आमतौर पर निम्न चरणों का पालन करेंगे:

  1. प्रारंभ OpenVINO बनाकर core = Core().
  2. का उपयोग करके मॉडल को लोड करें core.read_model() विधि।
  3. का उपयोग करके मॉडल संकलित करें core.compile_model() फलन।
  4. इनपुट (छवि, पाठ, ऑडियो, आदि) तैयार करें।
  5. का उपयोग करके अनुमान चलाएं compiled_model(input_data).

अधिक विस्तृत चरणों और कोड स्निपेट के लिए, OpenVINO प्रलेखन या एपीआई ट्यूटोरियल

OpenVINO YOLOv8 मानक

YOLOv8 नीचे दिए गए बेंचमार्क द्वारा चलाए गए थे Ultralytics गति और सटीकता को मापने वाले 4 अलग-अलग मॉडल प्रारूपों पर टीम: PyTorch, TorchScript, ONNX और OpenVINO. बेंचमार्क इंटेल फ्लेक्स और आर्क जीपीयू पर चलाए गए थे, और इंटेल एक्सॉन सीपीयू पर एफपी 32 परिशुद्धता पर ( half=False तर्क)।

नोट

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

सभी बेंचमार्क के साथ चलते हैं openvino Python पैकेज संस्करण 2023.0.1.

इंटेल फ्लेक्स जीपीयू

इंटेल® डेटा सेंटर GPU फ्लेक्स सीरीज एक बहुमुखी और मजबूत समाधान है जिसे बुद्धिमान दृश्य क्लाउड के लिए डिज़ाइन किया गया है। यह GPU मीडिया स्ट्रीमिंग, क्लाउड गेमिंग, AI विज़ुअल इनफरेंस और वर्चुअल डेस्कटॉप इन्फ्रास्ट्रक्चर वर्कलोड सहित वर्कलोड की एक विस्तृत श्रृंखला का समर्थन करता है। यह अपने खुले आर्किटेक्चर और AV1 एन्कोड के लिए अंतर्निहित समर्थन के लिए खड़ा है, जो उच्च-प्रदर्शन, क्रॉस-आर्किटेक्चर अनुप्रयोगों के लिए मानक-आधारित सॉफ़्टवेयर स्टैक प्रदान करता है। फ्लेक्स सीरीज जीपीयू घनत्व और गुणवत्ता के लिए अनुकूलित है, जो उच्च विश्वसनीयता, उपलब्धता और मापनीयता प्रदान करता है।

नीचे दिए गए बेंचमार्क Intel® Data Center GPU Flex 170 पर FP32 परिशुद्धता पर चलते हैं।

फ्लेक्स GPU बेंचमार्क
को गढ़ना प्रारूप ओहदा आकार (MB) एमएपी 50-95 (बी) अनुमान समय (ms/im)
YOLOv8n PyTorch 6.2 0.3709 21.79
YOLOv8n TorchScript 12.4 0.3704 23.24
YOLOv8n ONNX 12.2 0.3704 37.22
YOLOv8n OpenVINO 12.3 0.3703 3.29
YOLOv8s PyTorch 21.5 0.4471 31.89
YOLOv8s TorchScript 42.9 0.4472 32.71
YOLOv8s ONNX 42.8 0.4472 43.42
YOLOv8s OpenVINO 42.9 0.4470 3.92
YOLOv8m PyTorch 49.7 0.5013 50.75
YOLOv8m TorchScript 99.2 0.4999 47.90
YOLOv8m ONNX 99.0 0.4999 63.16
YOLOv8m OpenVINO 49.8 0.4997 7.11
YOLOv8l PyTorch 83.7 0.5293 77.45
YOLOv8l TorchScript 167.2 0.5268 85.71
YOLOv8l ONNX 166.8 0.5268 88.94
YOLOv8l OpenVINO 167.0 0.5264 9.37
YOLOv8x PyTorch 130.5 0.5404 100.09
YOLOv8x TorchScript 260.7 0.5371 114.64
YOLOv8x ONNX 260.4 0.5371 110.32
YOLOv8x OpenVINO 260.6 0.5367 15.02

यह तालिका पांच अलग-अलग मॉडलों (YOLOv8n, YOLOv8s, YOLOv8m, YOLOv8l, YOLOv8x) चार अलग-अलग स्वरूपों में (PyTorch, TorchScript, ONNX, OpenVINO), हमें प्रत्येक संयोजन के लिए स्थिति, आकार, mAP50-95 (B) मीट्रिक और अनुमान समय प्रदान करता है।

इंटेल आर्क जीपीयू

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

आर्क™ श्रृंखला को तीन श्रेणियों में विभाजित किया गया है: आर्क™ 3, आर्क™ 5 और आर्क™ 7, प्रत्येक संख्या प्रदर्शन स्तर को दर्शाती है। प्रत्येक श्रेणी में कई मॉडल शामिल हैं, और GPU मॉडल नाम में 'M' एक मोबाइल, एकीकृत संस्करण को दर्शाता है।

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

नीचे दिए गए बेंचमार्क FP770 परिशुद्धता पर Intel® Arc 32 GPU पर चलते हैं।

आर्क GPU बेंचमार्क
को गढ़ना प्रारूप ओहदा आकार (MB) मेट्रिक्स/एमएपी50-95(बी) अनुमान समय (ms/im)
YOLOv8n PyTorch 6.2 0.3709 88.79
YOLOv8n TorchScript 12.4 0.3704 102.66
YOLOv8n ONNX 12.2 0.3704 57.98
YOLOv8n OpenVINO 12.3 0.3703 8.52
YOLOv8s PyTorch 21.5 0.4471 189.83
YOLOv8s TorchScript 42.9 0.4472 227.58
YOLOv8s ONNX 42.7 0.4472 142.03
YOLOv8s OpenVINO 42.9 0.4469 9.19
YOLOv8m PyTorch 49.7 0.5013 411.64
YOLOv8m TorchScript 99.2 0.4999 517.12
YOLOv8m ONNX 98.9 0.4999 298.68
YOLOv8m OpenVINO 99.1 0.4996 12.55
YOLOv8l PyTorch 83.7 0.5293 725.73
YOLOv8l TorchScript 167.1 0.5268 892.83
YOLOv8l ONNX 166.8 0.5268 576.11
YOLOv8l OpenVINO 167.0 0.5262 17.62
YOLOv8x PyTorch 130.5 0.5404 988.92
YOLOv8x TorchScript 260.7 0.5371 1186.42
YOLOv8x ONNX 260.4 0.5371 768.90
YOLOv8x OpenVINO 260.6 0.5367 19

इंटेल झियोन सीपीयू

Intel® Xeon® CPU एक उच्च-प्रदर्शन, सर्वर-ग्रेड प्रोसेसर है जिसे जटिल और मांग वाले वर्कलोड के लिए डिज़ाइन किया गया है। हाई-एंड क्लाउड कंप्यूटिंग और वर्चुअलाइजेशन से लेकर आर्टिफिशियल इंटेलिजेंस और मशीन लर्निंग एप्लिकेशन तक, Xeon® CPU आज के डेटा केंद्रों के लिए आवश्यक शक्ति, विश्वसनीयता और लचीलापन प्रदान करते हैं।

विशेष रूप से, Xeon® CPU उच्च गणना घनत्व और मापनीयता प्रदान करते हैं, जो उन्हें छोटे व्यवसायों और बड़े उद्यमों दोनों के लिए आदर्श बनाते हैं। Intel® Xeon® CPU का चयन करके, संगठन लागत-प्रभावशीलता और परिचालन दक्षता बनाए रखते हुए आत्मविश्वास से अपने सबसे अधिक मांग वाले कंप्यूटिंग कार्यों को संभाल सकते हैं और नवाचार को बढ़ावा दे सकते हैं।

नीचे दिए गए बेंचमार्क FP4 परिशुद्धता पर 32th Gen Intel® Xeon® स्केलेबल CPU पर चलते हैं।

Xeon CPU बेंचमार्क
को गढ़ना प्रारूप ओहदा आकार (MB) मेट्रिक्स/एमएपी50-95(बी) अनुमान समय (ms/im)
YOLOv8n PyTorch 6.2 0.3709 24.36
YOLOv8n TorchScript 12.4 0.3704 23.93
YOLOv8n ONNX 12.2 0.3704 39.86
YOLOv8n OpenVINO 12.3 0.3704 11.34
YOLOv8s PyTorch 21.5 0.4471 33.77
YOLOv8s TorchScript 42.9 0.4472 34.84
YOLOv8s ONNX 42.8 0.4472 43.23
YOLOv8s OpenVINO 42.9 0.4471 13.86
YOLOv8m PyTorch 49.7 0.5013 53.91
YOLOv8m TorchScript 99.2 0.4999 53.51
YOLOv8m ONNX 99.0 0.4999 64.16
YOLOv8m OpenVINO 99.1 0.4996 28.79
YOLOv8l PyTorch 83.7 0.5293 75.78
YOLOv8l TorchScript 167.2 0.5268 79.13
YOLOv8l ONNX 166.8 0.5268 88.45
YOLOv8l OpenVINO 167.0 0.5263 56.23
YOLOv8x PyTorch 130.5 0.5404 96.60
YOLOv8x TorchScript 260.7 0.5371 114.28
YOLOv8x ONNX 260.4 0.5371 111.02
YOLOv8x OpenVINO 260.6 0.5371 83.28

इंटेल कोर सीपीयू

इंटेल® कोर® श्रृंखला इंटेल द्वारा उच्च-प्रदर्शन प्रोसेसर की एक श्रृंखला है। लाइनअप में Core i3 (एंट्री-लेवल), Core i5 (मिड-रेंज), Core i7 (हाई-एंड), और Core i9 (एक्सट्रीम परफॉर्मेंस) शामिल हैं। प्रत्येक श्रृंखला अलग-अलग कंप्यूटिंग आवश्यकताओं और बजट को पूरा करती है, रोजमर्रा के कार्यों से लेकर पेशेवर कार्यभार की मांग तक। प्रत्येक नई पीढ़ी के साथ, प्रदर्शन, ऊर्जा दक्षता और सुविधाओं में सुधार किया जाता है।

नीचे दिए गए बेंचमार्क FP13 परिशुद्धता पर 13वीं पीढ़ी के इंटेल® कोर® i13700-32H CPU पर चलते हैं।

कोर सीपीयू बेंचमार्क
को गढ़ना प्रारूप ओहदा आकार (MB) मेट्रिक्स/एमएपी50-95(बी) अनुमान समय (ms/im)
YOLOv8n PyTorch 6.2 0.4478 104.61
YOLOv8n TorchScript 12.4 0.4525 112.39
YOLOv8n ONNX 12.2 0.4525 28.02
YOLOv8n OpenVINO 12.3 0.4504 23.53
YOLOv8s PyTorch 21.5 0.5885 194.83
YOLOv8s TorchScript 43.0 0.5962 202.01
YOLOv8s ONNX 42.8 0.5962 65.74
YOLOv8s OpenVINO 42.9 0.5966 38.66
YOLOv8m PyTorch 49.7 0.6101 355.23
YOLOv8m TorchScript 99.2 0.6120 424.78
YOLOv8m ONNX 99.0 0.6120 173.39
YOLOv8m OpenVINO 99.1 0.6091 69.80
YOLOv8l PyTorch 83.7 0.6591 593.00
YOLOv8l TorchScript 167.2 0.6580 697.54
YOLOv8l ONNX 166.8 0.6580 342.15
YOLOv8l OpenVINO 167.0 0.0708 117.69
YOLOv8x PyTorch 130.5 0.6651 804.65
YOLOv8x TorchScript 260.8 0.6650 921.46
YOLOv8x ONNX 260.4 0.6650 526.66
YOLOv8x OpenVINO 260.6 0.6619 158.73

हमारे परिणामों को पुन: पेश करें

प्रजनन करना Ultralytics सभी निर्यात प्रारूपों पर उपरोक्त बेंचमार्क इस कोड को चलाते हैं:

उदाहरण

from ultralytics import YOLO

# Load a YOLOv8n PyTorch model
model = YOLO("yolov8n.pt")

# Benchmark YOLOv8n speed and accuracy on the COCO8 dataset for all all export formats
results = model.benchmarks(data="coco8.yaml")
# Benchmark YOLOv8n speed and accuracy on the COCO8 dataset for all all export formats
yolo benchmark model=yolov8n.pt data=coco8.yaml

ध्यान दें कि बेंचमार्किंग परिणाम सिस्टम के सटीक हार्डवेयर और सॉफ़्टवेयर कॉन्फ़िगरेशन के साथ-साथ बेंचमार्क चलाए जाने के समय सिस्टम के वर्तमान कार्यभार के आधार पर भिन्न हो सकते हैं। सबसे विश्वसनीय परिणामों के लिए बड़ी संख्या में छवियों के साथ डेटासेट का उपयोग करें, अर्थात। data='coco128.yaml' (128 val images), ordata='coco.yaml'' (5000 val images).

समाप्ति

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

Intel® Data Center GPU Flex Series को लागि, OpenVINO प्रारूप मूल की तुलना में लगभग 10 गुना तेजी से अनुमान गति देने में सक्षम था PyTorch प्रारूप। Xeon CPU पर, OpenVINO प्रारूप दो बार के रूप में तेजी से था PyTorch प्रारूप। मॉडलों की सटीकता विभिन्न प्रारूपों में लगभग समान रही।

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

उपयोग करने के बारे में अधिक विस्तृत जानकारी और निर्देशों के लिए OpenVINO, देखें अफ़सर OpenVINO दस्तावेज़ीकरण



Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (12), andrei-kochin (1), abirami-vina (1), RizwanMunawar (1), Burhan-Q (1)

टिप्पणियाँ