استكشف تنسيق Open Neural Network Exchange (ONNX). تعرف على كيفية تصدير Ultralytics إلى ONNX النشر السريع عبر الأنظمة الأساسية المختلفة وتحسين الأجهزة.
ONNX Open Neural Network Exchange) هو تنسيق مفتوح المصدر مصمم لتمثيل نماذج التعلم الآلي ، مما يتيح إمكانية التشغيل البيني بين مختلف أطر عمل وأدوات الذكاء الاصطناعي. وهو بمثابة مترجم عالمي للتعلم العميق، مما يتيح للمطورين إنشاء نماذج في إطار عمل واحد — مثل PyTorchأو TensorFlow أو Scikit-learn — ونشرها بسلاسة في بيئة أخرى مُحسّنة للاستدلال. من خلال تحديد مجموعة مشتركة من المشغلات وتنسيق ملف قياسي، ONNX الحاجة إلى نصوص تحويل معقدة ومخصصة كانت مطلوبة في الماضي لنقل النماذج من البحث إلى الإنتاج. هذه المرونة ضرورية لسير عمل الذكاء الاصطناعي الحديث، حيث قد يتم التدريب على وحدات معالجة رسومات سحابية قوية بينما يستهدف النشر أجهزة متنوعة مثل الأجهزة الطرفية أو الهواتف المحمولة أو متصفحات الويب.
في مجال الذكاء الاصطناعي سريع التطور ، غالبًا ما يستخدم الباحثون والمهندسون أدوات مختلفة لمراحل مختلفة من دورة حياة التطوير. قد يفضل عالم البيانات مرونة PyTorch والتدريب، بينما يحتاج مهندس الإنتاج إلى الأداء المُحسّن لـ TensorRT أو OpenVINO . بدون تنسيق تبادل قياسي، يصبح نقل النموذج بين هذه النظم البيئية أمرًا صعبًا وعرضة للأخطاء.
ONNX هذه الفجوة من خلال توفير تعريف مشترك للرسم البياني الحسابي. عندما يتم تصدير نموذج إلى ONNX يتم تسلسله إلى تنسيق يلتقط بنية الشبكة (الطبقات والاتصالات) والمعلمات (الأوزان والتحيزات) بطريقة لا تعتمد على إطار عمل معين. وهذا يسمح لمحركات الاستدلال المضبوطة خصيصًا لتسريع الأجهزة — مثل ONNX — بتنفيذ النموذج بكفاءة عبر منصات متعددة، بما في ذلك Linux وWindows وmacOS Android iOS.
يوفر اعتماد تنسيق Open Neural Network Exchange العديد من المزايا الاستراتيجية لمشاريع الذكاء الاصطناعي:
.onnx يمكن تسريع الملف على NVIDIA أو Intel أو
وحدات المعالجة العصبية المتنقلة (NPU) باستخدام أدوات مثل
OpenVINO أو CoreML.
تعدد استخدامات ONNX عنصرًا أساسيًا في مختلف الصناعات. فيما يلي مثالان ملموسان على تطبيقه:
لنفترض أن هناك تطبيقًا للهاتف المحمول مصممًا لمراقبة صحة المحاصيل في الوقت الفعلي. قد يتم تدريب النموذج على خادم سحابي قوي باستخدام مجموعة بيانات كبيرة من صور النباتات. ومع ذلك، يحتاج التطبيق للتشغيل دون اتصال بالإنترنت على الهاتف الذكي للمزارع. من خلال تصدير النموذج المدرب إلى ONNX يمكن للمطورين دمجه في التطبيق المحمول باستخدام ONNX Mobile. وهذا يسمح لمعالج الهاتف بتشغيل اكتشاف الكائنات محليًا، وتحديد الآفات أو الأمراض على الفور دون الحاجة إلى اتصال بالإنترنت.
في التجارة الإلكترونية، قد تستخدم ميزة "التجربة الافتراضية" تقدير الوضع لتركيب الملابس على بث كاميرا الويب الخاصة بالمستخدم. قد يتم تدريب هذا النموذج في Python ولكن هدف النشر هو متصفح الويب. باستخدام ONNX يمكن تحويل النموذج وتشغيله مباشرة في متصفح المستخدم عبر ONNX Web. يستخدم هذا إمكانات جهاز العميل (WebGL أو WebAssembly) لأداء مهام الرؤية الحاسوبية ، مما يضمن تجربة سلسة تحافظ على الخصوصية لأن بيانات الفيديو لا تغادر أبدًا جهاز الكمبيوتر الخاص بالمستخدم.
من المفيد التمييز ONNX تنسيقات النماذج والأدوات الأخرى:
يعمل 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 مما يجعل الرؤية الحاسوبية عالية الأداء متاحة في أي بيئة تقريبًا.