تخطي إلى المحتوى

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

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

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

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

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

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

ONNX

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

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

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

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

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

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

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

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

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

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

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

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

CPU النشر

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

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

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

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

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

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

تصدير النماذج YOLO11 إلى ONNX

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

التركيب

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

التركيب

# Install the required package for YOLO11
pip install ultralytics

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

الاستخدام

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

الاستخدام

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

# Load the exported ONNX model
onnx_model = YOLO("yolo11n.onnx")

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

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

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

نشر النماذج المصدّرة YOLO11 ONNX النماذج

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

الملخص

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

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

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

الأسئلة الشائعة

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

لتصدير نماذج YOLO11 إلى تنسيق ONNX باستخدام Ultralytics ، اتبع الخطوات التالية:

الاستخدام

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

# Load the exported ONNX model
onnx_model = YOLO("yolo11n.onnx")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

📅 تم الإنشاء قبل 10 أشهر ✏️ تم التحديث منذ 2 أشهر

التعليقات