انتقل إلى المحتوى

ONNX تصدير ل YOLOv8 نماذج

في كثير من الأحيان ، عند نشر نماذج رؤية الكمبيوتر ، ستحتاج إلى تنسيق نموذج مرن ومتوافق مع منصات متعددة.

تصدير Ultralytics YOLOv8 نماذج ل ONNX يعمل التنسيق على تبسيط النشر وضمان الأداء الأمثل عبر بيئات مختلفة. سيوضح لك هذا الدليل كيفية تحويل ملف YOLOv8 نماذج ل ONNX وتعزيز قابليتها للتوسع وفعاليتها في تطبيقات العالم الحقيقي.

ONNX و ONNX وقت التشغيل

ONNX، الذي يرمز إلى Open Neural Network Exchange ، هو مشروع مجتمعي طوره Facebook و Microsoft في البداية. التطوير المستمر ل ONNX هو جهد تعاوني تدعمه منظمات مختلفة مثل IBM و Amazon (من خلال AWS) و Google. يهدف المشروع إلى إنشاء تنسيق ملف مفتوح مصمم لتمثيل نماذج التعلم الآلي بطريقة تسمح باستخدامها عبر أطر عمل وأجهزة الذكاء الاصطناعي مختلفة.

ONNX يمكن استخدام النماذج للانتقال بين الأطر المختلفة بسلاسة. على سبيل المثال ، نموذج التعلم العميق المدرب في PyTorch يمكن تصديرها إلى ONNX ثم يتم استيرادها بسهولة إلى TensorFlow.

ONNX

بدلا ONNX يمكن استخدام النماذج مع ONNX وقت التشغيل. ONNX Runtime هو مسرع متعدد الاستخدامات عبر الأنظمة الأساسية لنماذج التعلم الآلي المتوافق مع أطر عمل مثل PyTorch, TensorFlow، TFLite ، scikit-learn ، إلخ.

ONNX يعمل وقت التشغيل على تحسين تنفيذ ONNX النماذج من خلال الاستفادة من القدرات الخاصة بالأجهزة. يسمح هذا التحسين للنماذج بالعمل بكفاءة وأداء عال على منصات الأجهزة المختلفة ، بما في ذلك وحدات المعالجة المركزية ووحدات معالجة الرسومات والمسرعات المتخصصة.

ONNX مع ONNX وقت التشغيل

سواء تم استخدامها بشكل مستقل أو جنبا إلى جنب مع ONNX وقت التشغيل ONNX يوفر حلا مرنا لنشر نموذج التعلم الآلي والتوافق.

الميزات الرئيسية ل ONNX نماذج

قدرة ONNX للتعامل مع أشكال مختلفة يمكن أن يعزى إلى الميزات الرئيسية التالية:

  • تمثيل النموذج المشترك: ONNX يحدد مجموعة مشتركة من العوامل (مثل التلافيف والطبقات وما إلى ذلك) وتنسيق بيانات قياسي. عند تحويل نموذج إلى ONNX يتم ترجمة الشكل وهندسته المعمارية وأوزانه إلى هذا التمثيل المشترك. يضمن هذا التوحيد إمكانية فهم النموذج من خلال أي إطار يدعم ONNX.

  • تعيين الإصدار والتوافق مع الإصدارات السابقة: ONNX يحافظ على نظام إصدار لمشغليه. هذا يضمن أنه حتى مع تطور المعيار ، تظل النماذج التي تم إنشاؤها في الإصدارات القديمة قابلة للاستخدام. يعد التوافق مع الإصدارات السابقة ميزة حاسمة تمنع النماذج من أن تصبح قديمة بسرعة.

  • تمثيل النموذج القائم على الرسم البياني: ONNX يمثل النماذج كرسوم بيانية حسابية. هذه البنية القائمة على الرسم البياني هي طريقة عالمية لتمثيل نماذج التعلم الآلي ، حيث تمثل العقد العمليات أو الحسابات ، وتمثل الحواف الموترات المتدفقة بينها. هذا التنسيق قابل للتكيف بسهولة مع الأطر المختلفة التي تمثل أيضا النماذج كرسوم بيانية.

  • الأدوات والنظام البيئي: هناك نظام بيئي غني بالأدوات حولها ONNX التي تساعد في تحويل النموذج والتصور والتحسين. تسهل هذه الأدوات على المطورين العمل معها ONNX النماذج وتحويل النماذج بين الأطر المختلفة بسلاسة.

الاستخدام الشائع ل ONNX

قبل أن ننتقل إلى كيفية التصدير YOLOv8 نماذج إلى ONNX التنسيق ، دعنا نلقي نظرة على المكان ONNX وعادة ما تستخدم النماذج.

نشر وحدة المعالجة المركزية

ONNX غالبا ما يتم نشر النماذج على وحدات المعالجة المركزية نظرا لتوافقها مع ONNX وقت التشغيل. تم تحسين وقت التشغيل هذا لتنفيذ وحدة المعالجة المركزية. إنه يحسن بشكل كبير من سرعة الاستدلال ويجعل عمليات نشر وحدة المعالجة المركزية في الوقت الفعلي ممكنة.

خيارات النشر المدعومة

بينما ONNX تستخدم النماذج بشكل شائع على وحدات المعالجة المركزية ، ويمكن أيضا نشرها على الأنظمة الأساسية التالية:

  • تسريع GPU: ONNX يدعم بشكل كامل تسريع GPU ، وخاصة NVIDIA CUDA. يتيح ذلك التنفيذ الفعال على وحدات معالجة الرسومات NVIDIA للمهام التي تتطلب طاقة حسابية عالية.

  • الحافة والأجهزة المحمولة: ONNX يمتد إلى أجهزة الحافة والأجهزة المحمولة ، مما يجعله مثاليا لسيناريوهات الاستدلال على الجهاز وفي الوقت الفعلي. إنه خفيف الوزن ومتوافق مع أجهزة الحافة.

  • متصفحات الويب: ONNX يمكن تشغيلها مباشرة في متصفحات الويب ، مما يؤدي إلى تشغيل تطبيقات الذكاء الاصطناعي التفاعلية والديناميكية المستندة إلى الويب.

تصدير YOLOv8 نماذج ل ONNX

يمكنك توسيع توافق النموذج ومرونة النشر عن طريق التحويل YOLOv8 نماذج ل ONNX تنسيق.

تركيب

لتثبيت الحزمة المطلوبة ، قم بتشغيل:

تركيب

# Install the required package for YOLOv8
pip install ultralytics

للحصول على إرشادات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت ، تحقق من YOLOv8 دليل التثبيت. أثناء تثبيت الحزم المطلوبة ل YOLOv8، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على حلول ونصائح.

استخدام

قبل الغوص في تعليمات الاستخدام ، تأكد من إطلاعك على نطاق YOLOv8 النماذج التي تقدمها Ultralytics. سيساعدك هذا في اختيار النموذج الأنسب لمتطلبات مشروعك.

استخدام

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to ONNX format
model.export(format='onnx')  # creates 'yolov8n.onnx'

# Load the exported ONNX model
onnx_model = YOLO('yolov8n.onnx')

# Run inference
results = onnx_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to ONNX format
yolo export model=yolov8n.pt format=onnx  # creates 'yolov8n.onnx'

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

لمزيد من التفاصيل حول عملية التصدير ، قم بزيارة Ultralytics صفحة التوثيق الخاصة بالتصدير.

نشر التصدير YOLOv8 ONNX نماذج

بمجرد تصدير ملف Ultralytics YOLOv8 نماذج ل ONNX ، فإن الخطوة التالية هي نشر هذه النماذج في بيئات مختلفة. للحصول على إرشادات مفصلة حول نشر ONNX النماذج ، ألق نظرة على الموارد التالية:

ملخص

في هذا الدليل ، تعلمت كيفية التصدير Ultralytics YOLOv8 نماذج ل ONNX لزيادة قابلية التشغيل البيني والأداء عبر منصات مختلفة. لقد تعرفت أيضا على ONNX وقت التشغيل و ONNX خيارات النشر.

لمزيد من التفاصيل حول الاستخدام ، قم بزيارة ONNX الوثائق الرسمية.

أيضا ، إذا كنت ترغب في معرفة المزيد عن الآخرين Ultralytics YOLOv8 عمليات التكامل، تفضل بزيارة صفحة دليل التكامل الخاصة بنا. ستجد الكثير من الموارد المفيدة والرؤى هناك.



تم إنشاؤه في 2024-01-25, اخر تحديث 2024-01-25
المؤلفون: جلين جوشر (1) ، أبيرامي فينا (1)

التعليقات