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

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

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

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

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

ONNXالذي يرمز إلى Open Neural Network Exchange، وهو مشروع مجتمعي طوره في البداية فيسبوك و 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 وعادة ما تستخدم النماذج.

CPU النشر

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

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

بينما 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 ، قم بزيارة صفحة دليل التكامل الخاصة بنا. ستجد الكثير من الموارد والأفكار المفيدة هناك.

الأسئلة المتداولة

كيف يمكنني تصدير النماذج YOLOv8 إلى تنسيق ONNX باستخدام Ultralytics ؟

لتصدير نماذج YOLOv8 إلى تنسيق ONNX باستخدام 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'

لمزيد من التفاصيل، يرجى زيارة وثائق التصدير.

ما هي مزايا استخدام ONNX وقت التشغيل لنشر نماذج YOLOv8 ؟

يوفر استخدام ONNX Runtime لنشر نماذج YOLOv8 العديد من المزايا:

  • التوافق عبر المنصات المختلفة: ONNX يدعم وقت التشغيل العديد من الأنظمة الأساسية، مثل ويندوز وماك ولينكس، مما يضمن تشغيل نماذجك بسلاسة في بيئات مختلفة.
  • تسريع الأجهزة: ONNX يمكن لوقت التشغيل الاستفادة من التحسينات الخاصة بالأجهزة لوحدات المعالجة المركزية ووحدات معالجة الرسومات والمسرّعات المخصصة، مما يوفر استدلالاً عالي الأداء.
  • قابلية التشغيل البيني للإطار: يمكن تحويل النماذج المدربة على أطر العمل الشائعة مثل PyTorch أو TensorFlow بسهولة إلى تنسيق ONNX وتشغيلها باستخدام ONNX Runtime.

تعرف على المزيد من خلال مراجعة وثائق وقت التشغيل ONNX .

ما هي خيارات النشر المتاحة لنماذج YOLOv8 المصدرة إلى ONNX ؟

YOLOv8 يمكن نشر النماذج المصدرة إلى ONNX على منصات مختلفة بما في ذلك:

  • وحدات المعالجة المركزية: استخدام ONNX وقت التشغيل للاستدلال الأمثل CPU الاستدلال.
  • وحدات معالجة الرسومات: الاستفادة من NVIDIA CUDA لتسريع GPU عالي الأداء .
  • أجهزة الحافة: تشغيل نماذج خفيفة الوزن على الأجهزة المتطورة والأجهزة المحمولة للاستدلال في الوقت الحقيقي على الجهاز.
  • متصفحات الويب: تنفيذ النماذج مباشرةً داخل متصفحات الويب للتطبيقات التفاعلية المستندة إلى الويب.

لمزيد من المعلومات، استكشف دليلنا حول خيارات نشر النموذج.

لماذا يجب استخدام تنسيق ONNX لنماذج Ultralytics YOLOv8 ؟

يوفر استخدام تنسيق ONNX لنماذج Ultralytics YOLOv8 العديد من الفوائد:

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

راجع الدليل الشامل حول تصدير النماذج YOLOv8 إلى ONNX.

كيف يمكنني استكشاف المشكلات وإصلاحها عند تصدير النماذج YOLOv8 إلى ONNX ؟

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

  1. تحقق من تثبيت الإصدار الصحيح من التبعيات المطلوبة.
  2. راجع وثائقONNX الرسمية لمعرفة المشغلات والميزات المدعومة.
  3. راجع رسائل الخطأ للحصول على أدلة واستشر دليل المشكلات الشائعةUltralytics .

إذا استمرت المشاكل، اتصل بالدعم Ultralytics للحصول على مزيد من المساعدة.



تم الإنشاء 2024-01-25، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (6)، أبيرامي فينا (1)

التعليقات