Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

ONNX (التبادل المفتوح للشبكات العصبية)

استكشف تنسيق Open Neural Network Exchange (ONNX). تعرف على كيفية تصدير Ultralytics إلى ONNX النشر السريع عبر الأنظمة الأساسية المختلفة وتحسين الأجهزة.

ONNX Open Neural Network Exchange) هو تنسيق مفتوح المصدر مصمم لتمثيل نماذج التعلم الآلي ، مما يتيح إمكانية التشغيل البيني بين مختلف أطر عمل وأدوات الذكاء الاصطناعي. وهو بمثابة مترجم عالمي للتعلم العميق، مما يتيح للمطورين إنشاء نماذج في إطار عمل واحد — مثل PyTorchأو TensorFlow أو Scikit-learn — ونشرها بسلاسة في بيئة أخرى مُحسّنة للاستدلال. من خلال تحديد مجموعة مشتركة من المشغلات وتنسيق ملف قياسي، ONNX الحاجة إلى نصوص تحويل معقدة ومخصصة كانت مطلوبة في الماضي لنقل النماذج من البحث إلى الإنتاج. هذه المرونة ضرورية لسير عمل الذكاء الاصطناعي الحديث، حيث قد يتم التدريب على وحدات معالجة رسومات سحابية قوية بينما يستهدف النشر أجهزة متنوعة مثل الأجهزة الطرفية أو الهواتف المحمولة أو متصفحات الويب.

دور ONNX الذكاء الاصطناعي الحديث

في مجال الذكاء الاصطناعي سريع التطور ، غالبًا ما يستخدم الباحثون والمهندسون أدوات مختلفة لمراحل مختلفة من دورة حياة التطوير. قد يفضل عالم البيانات مرونة PyTorch والتدريب، بينما يحتاج مهندس الإنتاج إلى الأداء المُحسّن لـ TensorRT أو OpenVINO . بدون تنسيق تبادل قياسي، يصبح نقل النموذج بين هذه النظم البيئية أمرًا صعبًا وعرضة للأخطاء.

ONNX هذه الفجوة من خلال توفير تعريف مشترك للرسم البياني الحسابي. عندما يتم تصدير نموذج إلى ONNX يتم تسلسله إلى تنسيق يلتقط بنية الشبكة (الطبقات والاتصالات) والمعلمات (الأوزان والتحيزات) بطريقة لا تعتمد على إطار عمل معين. وهذا يسمح لمحركات الاستدلال المضبوطة خصيصًا لتسريع الأجهزة — مثل ONNX — بتنفيذ النموذج بكفاءة عبر منصات متعددة، بما في ذلك Linux وWindows وmacOS Android iOS.

الفوائد الرئيسية لاستخدام ONNX

يوفر اعتماد تنسيق Open Neural Network Exchange العديد من المزايا الاستراتيجية لمشاريع الذكاء الاصطناعي:

  • قابلية التشغيل البيني للأطر: يمكن للمطورين التبديل بين الأطر دون أن يكونوا مقيدين بنظام بيئي واحد. يمكنك تدريب نموذج باستخدام Python Ultralytics Python سهلة الاستخدام وتصديره لاستخدامه في تطبيق C++ أو بيئة JavaScript على شبكة الإنترنت.
  • تحسين الأجهزة: يوفر العديد من مصنعي الأجهزة مزودي تنفيذ متخصصين يتفاعلون مع ONNX. وهذا يعني أن مزود واحد .onnx يمكن تسريع الملف على NVIDIA أو Intel أو وحدات المعالجة العصبية المتنقلة (NPU) باستخدام أدوات مثل OpenVINO أو CoreML.
  • استنتاج أسرع: يطبق ONNX تحسينات على الرسوم البيانية — مثل دمج العقد والطي الثابت — والتي يمكن أن تقلل بشكل كبير من زمن استنتاج. وهذا أمر ضروري للتطبيقات في الوقت الحقيقي مثل المركبات ذاتية القيادة أو خطوط التصنيع عالية السرعة .
  • نشر مبسط: بدلاً من الحفاظ على خطوط إنتاج منفصلة لكل إطار تدريب ، يمكن لفرق الهندسة توحيد ONNX التسليم، مما يؤدي إلى تبسيط عمليات ModelOps.

تطبيقات واقعية

تعدد استخدامات ONNX عنصرًا أساسيًا في مختلف الصناعات. فيما يلي مثالان ملموسان على تطبيقه:

1. الذكاء الاصطناعي الحوافي على الأجهزة المحمولة

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

2. الاستدلال عبر منصات الويب

في التجارة الإلكترونية، قد تستخدم ميزة "التجربة الافتراضية" تقدير الوضع لتركيب الملابس على بث كاميرا الويب الخاصة بالمستخدم. قد يتم تدريب هذا النموذج في Python ولكن هدف النشر هو متصفح الويب. باستخدام ONNX يمكن تحويل النموذج وتشغيله مباشرة في متصفح المستخدم عبر ONNX Web. يستخدم هذا إمكانات جهاز العميل (WebGL أو WebAssembly) لأداء مهام الرؤية الحاسوبية ، مما يضمن تجربة سلسة تحافظ على الخصوصية لأن بيانات الفيديو لا تغادر أبدًا جهاز الكمبيوتر الخاص بالمستخدم.

مقارنة مع المصطلحات ذات الصلة

من المفيد التمييز ONNX تنسيقات النماذج والأدوات الأخرى:

  • مقارنةً بـ TensorRT: في حين أن ONNX تنسيق تبادل، TensorRTONNX هو محرك استدلال ومحسّن مخصص NVIDIA . يتضمن سير العمل الشائع تصدير النموذج إلى ONNX ثم تحليل ملف ONNX في TensorRT أقصى إنتاجية على NVIDIA .
  • مقابل TensorFlow SavedModel: SavedModel تنسيق التسلسل الأصلي لـ TensorFlow. على الرغم من قوته داخل Google إلا أنه أقل توافقًا من ONNX. غالبًا ما توجد أدوات لتحويل SavedModels إلى ONNX دعم أوسع للمنصة.
  • مقارنة مع CoreML: CoreML هو إطار عمل Apple للتعلم الآلي على الأجهزة. على الرغم من اختلافها، غالبًا ما يتم تحويل النماذج من PyTorch ONNX ثم من ONNX CoreML أو مباشرة) لتعمل بكفاءة على أجهزة iPhone و iPad.

التصدير إلى ONNX Ultralytics

يعمل Ultralytics على تبسيط عملية تحويل النماذج الحديثة مثل YOLO26 إلى ONNX . وظيفة التصدير مدمجة مباشرة في المكتبة، وتتعامل مع عملية اجتياز الرسم البياني المعقدة وتعيين المشغل تلقائيًا.

يوضح المثال التالي كيفية تصدير نموذج YOLO26 المدرب مسبقًا إلى ONNX للنشر:

from ultralytics import YOLO

# Load the YOLO26n model (Nano version recommended for edge deployment)
model = YOLO("yolo26n.pt")

# Export the model to ONNX format
# The 'dynamic' argument enables variable input sizes
path = model.export(format="onnx", dynamic=True)

print(f"Model exported successfully to: {path}")

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

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن