اكتشف كيف يعزز ONNX إمكانية نقل نماذج الذكاء الاصطناعي وقابلية التشغيل البيني مما يتيح النشر السلس لنماذج Ultralytics YOLO عبر منصات متنوعة.
تبادل الشبكات العصبية المفتوحةONNX) هو معيار مفتوح المصدر مصمم لتمثيل نماذج التعلم الآلي (ML) بطريقة تضمن قابلية النقل عبر أطر العمل والأجهزة المختلفة. تم تطويره في الأصل من قبل شركات مثل Microsoft و فيسبوك، ويعمل ONNX بمثابة "مترجم عالمي" للذكاء الاصطناعي. يسمح للمطورين بتدريب نموذج في نظام بيئي واحد، مثل PyTorchونشره بسلاسة في نظام آخر، مثل TensorFlow أو محرك متخصص. هذا التشغيل البيني يلغي الحاجة إلى إعادة بناء أو إعادة تدريب الشبكات عند الانتقال من بيئات البحث إلى تطبيقات الإنتاج, مما يبسط بشكل كبير نشر النموذج بشكل كبير.
في جوهرها، تحدد ONNX مجموعة مشتركة من المشغلين - وهي اللبنات الأساسية لنماذج التعلم العميق (DL) ونماذج التعلم الآلي - و وتنسيق ملف قياسي. عندما يتم تحويل النموذج إلى ONNX يتم تعيين بنيته الحسابية إلى رسم بياني حسابي ثابت. في هذا الرسم البياني، تمثل العقد العمليات الحسابية (مثل عمليات الالتفاف أو دوال التنشيط)، وتمثل الحواف تدفق موتر البيانات بينها.
نظرًا لأن تمثيل هذا الرسم البياني موحد، يمكن لمصنعي الأجهزة بناء موفري تنفيذ محسنين ل
ONNX. وهذا يعني وجود .onnx ملف يمكن تسريعه على أجهزة متنوعة، بما في ذلك
CPU,
وحدة معالجة الرسومات (GPU )أو
متخصص
وحدة معالجةTensor TPU )، في كثير من الأحيان
باستخدام نظام وقت تشغيل ONNX.
بالنسبة لمستخدمي ultralytics فإن تحويل نموذج مُدرَّب إلى تنسيق ONNX هو عملية مباشرة
مباشرة. تتعامل المكتبة مع التحويل المعقد للطبقات إلى معيار ONNX تلقائيًا. يوضح الكود التالي
التالي يوضح كيفية تصدير نموذج YOLO11 النموذج، وإعداده
لنشره على نطاق أوسع.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
# This creates 'yolo11n.onnx' in the current directory
model.export(format="onnx")
إن مرونة ONNX تجعل منه مكونًا حاسمًا في البنية التحتية الحديثة للذكاء الاصطناعي، خاصةً في مهام الرؤية الحاسوبية (CV).
يساعد فهم كيفية تفاعل ONNX مع الأدوات الأخرى في اختيار استراتيجية النشر الصحيحة.
.pt أو
كيراس .h5 ممتازة للتدريب والتوفير
لا يتم تعيين أوزان النموذج يدويًا ولكن يتم "تعلمها" من البيانات. تبدأ العملية بتهيئة الأوزان بأرقام عشوائية صغيرة. أثناء التدريب، يقوم النموذج بعمل تنبؤات على بيانات التدريب، وتقوم دالة الخسارة بحساب مدى خطأ هذه التنبؤات. ثم يتم استخدام إشارة الخطأ هذه في عملية تسمى الانتشار الخلفي لحساب تدرج الخسارة بالنسبة لكل وزن. تقوم خوارزمية التحسين، مثل تدرج تنازلي عشوائي (SGD)، بعد ذلك بضبط الأوزان في الاتجاه المعاكس للتدرج لتقليل الخطأ. تتكرر هذه الدورة لعدة حقبات حتى يتوقف أداء النموذج على مجموعة بيانات التحقق منفصلة عن التحسن، وهي علامة على أنه تعلم الأنماط في البيانات. ضمن أنظمتها البيئية المحددة.
ومع ذلك، فإنها غالبًا ما تتطلب تثبيت الإطار الأصلي لتشغيل النموذج. يفصل ONNX النموذج عن
إطار العمل التدريبي، مما يسهّل إجراء
حافة الذكاء الاصطناعي عمليات النشر حيث يكون تثبيت مكتبة تدريب كاملة
غير عملي بسبب قيود التخزين أو الذاكرة.