انتل OpenVINO تصدير
في هذا الدليل ، نغطي التصدير YOLOv8 نماذج إلى OpenVINO ، والتي يمكن أن توفر ما يصل إلى 3x تسريع وحدة المعالجة المركزية ، وكذلك تسريع YOLO الاستدلال على Intel GPU وأجهزة NPU .
OpenVINO، وهو اختصار لمجموعة أدوات الاستدلال المرئي المفتوح وتحسين الشبكة العصبية ، وهي مجموعة أدوات شاملة لتحسين ونشر نماذج الاستدلال الذكاء الاصطناعي. على الرغم من أن الاسم يحتوي على مرئي ، OpenVINO يدعم أيضا العديد من المهام الإضافية بما في ذلك اللغة والصوت والسلاسل الزمنية وما إلى ذلك.
شاهد: كيفية تصدير وتحسين Ultralytics YOLOv8 نموذج للاستدلال مع OpenVINO.
أمثلة الاستخدام
تصدير أ 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')
الحجج
مفتاح | قيمة | وصف |
---|---|---|
format |
'openvino' |
تنسيق للتصدير إليه |
imgsz |
640 |
حجم الصورة كعدد قياسي أو قائمة (H ، W) ، أي (640 ، 480) |
half |
False |
تكميم FP16 |
فوائد OpenVINO
- الأداء: OpenVINO يوفر استدلالا عالي الأداء من خلال الاستفادة من قوة وحدات المعالجة المركزية Intel ووحدات معالجة الرسومات المدمجة والمنفصلة و FPGAs.
- دعم التنفيذ غير المتجانس:OpenVINO يوفر واجهة برمجة تطبيقات للكتابة مرة واحدة ونشرها على أي جهاز Intel مدعوم (وحدة المعالجة المركزية ووحدة معالجة الرسومات وFPGA وVPU وما إلى ذلك).
- محسن النموذج: OpenVINO يوفر محسن النموذج الذي يقوم باستيراد النماذج وتحويلها وتحسينها من أطر عمل التعلم العميق الشائعة مثل PyTorch, TensorFlow, TensorFlow لايت ، كيراس ، ONNX, PaddlePaddle، وكافي.
- سهولة الاستخدام: تأتي مجموعة الأدوات مع أكثر من 80 دفتر ملاحظات تعليمي (بما في ذلك YOLOv8 التحسين) تدريس جوانب مختلفة من مجموعة الأدوات.
OpenVINO هيكل التصدير
عند تصدير نموذج إلى OpenVINO ، ينتج عنه دليل يحتوي على ما يلي:
- ملف XML: يصف طوبولوجيا الشبكة.
- BIN ملف: يحتوي على weights and biases البيانات الثنائية.
- ملف التعيين: يحمل تعيين موترات إخراج النموذج الأصلي إلى OpenVINO tensor اسماء.
يمكنك استخدام هذه الملفات لتشغيل الاستدلال باستخدام OpenVINO محرك الاستدلال.
استخدام OpenVINO التصدير في النشر
بمجرد حصولك على OpenVINO ، يمكنك استخدام ملف OpenVINO وقت التشغيل لتشغيل النموذج. يوفر وقت التشغيل واجهة برمجة تطبيقات موحدة للاستدلال عبر جميع أجهزة Intel المدعومة. كما يوفر إمكانات متقدمة مثل موازنة التحميل عبر أجهزة Intel والتنفيذ غير المتزامن. لمزيد من المعلومات حول تشغيل الاستدلال، راجع الاستدلال مع OpenVINO دليل وقت التشغيل.
تذكر أنك ستحتاج إلى ملفات XML و BIN بالإضافة إلى أي إعدادات خاصة بالتطبيق مثل حجم الإدخال وعامل المقياس للتطبيع وما إلى ذلك ، لإعداد النموذج واستخدامه بشكل صحيح مع وقت التشغيل.
في تطبيق النشر، عادة ما تقوم بالخطوات التالية:
- تهيئه OpenVINO عن طريق إنشاء
core = Core()
. - قم بتحميل النموذج باستخدام الزر
core.read_model()
أسلوب. - قم بتجميع النموذج باستخدام
core.compile_model()
دالة. - قم بإعداد الإدخال (صورة ، نص ، صوت ، إلخ).
- تشغيل الاستدلال باستخدام
compiled_model(input_data)
.
لمزيد من الخطوات التفصيلية ومقتطفات الشفرة، ارجع إلى OpenVINO الوثائق أو البرنامج التعليمي API.
OpenVINO YOLOv8 المعايير
YOLOv8 تم تشغيل المعايير أدناه من قبل Ultralytics فريق على 4 تنسيقات نموذج مختلفة لقياس السرعة والدقة: PyTorch, TorchScript, ONNX و OpenVINO. تم تشغيل المعايير على وحدات معالجة الرسومات Intel Flex و Arc ، وعلى وحدات المعالجة المركزية Intel Xeon بدقة FP32 (مع half=False
حجة).
ملاحظه
نتائج المقارنة المرجعية أدناه هي للرجوع إليها وقد تختلف بناء على التكوين الدقيق للأجهزة والبرامج للنظام ، بالإضافة إلى عبء العمل الحالي للنظام في وقت تشغيل المعايير.
جميع المعايير تعمل مع openvino
Python إصدار الحزمة 2023.0.1.
إنتل فليكس GPU
تعد سلسلة GPU® Flex من Intel Data Center حلا متعدد الاستخدامات وقويا مصمما للسحابة المرئية الذكية. تدعم وحدة معالجة الرسومات هذه مجموعة واسعة من أعباء العمل بما في ذلك تدفق الوسائط والألعاب السحابية والاستدلال المرئي الذكاء الاصطناعي وأحمال عمل البنية التحتية لسطح المكتب الافتراضي. يتميز ببنيته المفتوحة ودعمه المدمج لتشفير AV1 ، مما يوفر مجموعة برامج قائمة على المعايير للتطبيقات عالية الأداء وعبر البنية. تم تحسين وحدة معالجة الرسومات Flex Series من حيث الكثافة والجودة ، مما يوفر موثوقية عالية وتوافرا وقابلية للتوسع.
تعمل المعايير أدناه على® Intel Data Center GPU Flex 170 بدقة FP32.
نموذج | تنسيق | حالة | الحجم (ميغابايت) | mAP50-95 (ب) | وقت الاستدلال (مللي ثانية / 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) ووقت الاستدلال لكل مجموعة.
إنتل قوس GPU
يمثل Intel® Arc™ غزوة Intel في سوق GPU المخصص. سلسلة Arc™ ، المصممة للتنافس مع الشركات المصنعة الرائدة لوحدات معالجة الرسومات مثل AMD و Nvidia ، تلبي احتياجات كل من أسواق الكمبيوتر المحمول وسطح المكتب. تتضمن السلسلة إصدارات محمولة للأجهزة المدمجة مثل أجهزة الكمبيوتر المحمولة ، وإصدارات أكبر وأكثر قوة لأجهزة الكمبيوتر المكتبية.
تنقسم سلسلة Arc™ إلى ثلاث فئات: Arc™ 3 و Arc™ 5 و Arc™ 7 ، حيث يشير كل رقم إلى مستوى الأداء. تتضمن كل فئة عدة طرز ، ويشير الحرف "M" في اسم طراز GPU إلى متغير متنقل متكامل.
أشادت المراجعات المبكرة بسلسلة Arc™ ، وخاصة وحدة معالجة الرسومات A770M المدمجة ، لأدائها المذهل في الرسومات. يختلف توفر سلسلة Arc™ حسب المنطقة ، ومن المتوقع إصدار طرز إضافية قريبا. تقدم وحدات معالجة الرسومات Intel® Arc™ حلولا عالية الأداء لمجموعة من احتياجات الحوسبة ، من الألعاب إلى إنشاء المحتوى.
تعمل المعايير أدناه على وحدة معالجة الرسومات Intel® Arc 770 بدقة FP32.
نموذج | تنسيق | حالة | الحجم (ميغابايت) | المقاييس / mAP50-95 (ب) | وقت الاستدلال (مللي ثانية / 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® هي معالج عالي الأداء من فئة الخوادم مصمم لأحمال العمل المعقدة والمتطلبة. من الحوسبة السحابية المتطورة والمحاكاة الافتراضية إلى تطبيقات الذكاء الاصطناعي والتعلم الآلي ، توفر وحدات المعالجة المركزية Xeon® القوة والموثوقية والمرونة المطلوبة لمراكز البيانات اليوم.
والجدير بالذكر أن وحدات المعالجة المركزية Xeon® توفر كثافة حوسبة عالية وقابلية للتوسع ، مما يجعلها مثالية لكل من الشركات الصغيرة والمؤسسات الكبيرة. من خلال اختيار وحدات المعالجة المركزية Intel® Xeon® ، يمكن للمؤسسات التعامل بثقة مع مهام الحوسبة الأكثر تطلبا وتعزيز الابتكار مع الحفاظ على الفعالية من حيث التكلفة والكفاءة التشغيلية.
تعمل المعايير أدناه على وحدة المعالجة المركزية Intel Xeon® Scalable من الجيل® الرابع بدقة FP32.
نموذج | تنسيق | حالة | الحجم (ميغابايت) | المقاييس / mAP50-95 (ب) | وقت الاستدلال (مللي ثانية / 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 |
وحدة المعالجة المركزية إنتل كور
سلسلة Intel® Core® هي مجموعة من المعالجات عالية الأداء من Intel. تتضمن التشكيلة Core i3 (مستوى الدخول) و Core i5 (متوسط المدى) و Core i7 (متطور) و Core i9 (أداء فائق). تلبي كل سلسلة احتياجات وميزانيات الحوسبة المختلفة ، من المهام اليومية إلى أعباء العمل الاحترافية الصعبة. مع كل جيل جديد ، يتم إجراء تحسينات على الأداء وكفاءة الطاقة والميزات.
تعمل المعايير أدناه على وحدة المعالجة المركزية Intel® Core® i7-13700H من الجيل الثالث عشر بدقة FP32.
نموذج | تنسيق | حالة | الحجم (ميغابايت) | المقاييس / mAP50-95 (ب) | وقت الاستدلال (مللي ثانية / 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 تقوم المعايير أعلاه على جميع تنسيقات التصدير بتشغيل هذا الرمز:
مثل
لاحظ أن نتائج القياس قد تختلف بناء على التكوين الدقيق للأجهزة والبرامج للنظام ، بالإضافة إلى عبء العمل الحالي للنظام في وقت تشغيل المعايير. للحصول على النتائج الأكثر موثوقية ، استخدم مجموعة بيانات تحتوي على عدد كبير من الصور ، أي data='coco128.yaml' (128 val images), or
data='coco.yaml'' (5000 صورة فال).
استنتاج
تظهر نتائج المقارنة المعيارية بوضوح فوائد تصدير YOLOv8 نموذج ل OpenVINO تنسيق. عبر نماذج ومنصات الأجهزة المختلفة ، OpenVINO يتفوق التنسيق باستمرار على التنسيقات الأخرى من حيث سرعة الاستدلال مع الحفاظ على دقة مماثلة.
بالنسبة لسلسلة GPU Flex لمركز بيانات Intel® ، فإن OpenVINO كان التنسيق قادرا على تقديم سرعات استدلال أسرع 10 مرات تقريبا من الأصل PyTorch تنسيق. على وحدة المعالجة المركزية Xeon ، OpenVINO كان التنسيق أسرع مرتين من PyTorch تنسيق. ظلت دقة النماذج متطابقة تقريبا عبر الأشكال المختلفة.
وتؤكد المعايير على فعالية OpenVINO كأداة لنشر نماذج التعلم العميق. عن طريق تحويل النماذج إلى OpenVINO ، يمكن للمطورين تحقيق تحسينات كبيرة في الأداء ، مما يسهل نشر هذه النماذج في تطبيقات العالم الحقيقي.
لمزيد من المعلومات والتعليمات التفصيلية حول استخدام OpenVINO، راجع رسمي OpenVINO الوثائق.
تم النشر في 2023-11-12, اخر تحديث 2024-04-18
المؤلفون: جلين جوشر (9) ، أبيرامي فينا (1) ، رضوان منور (1) ، برهان كيو (1)