Ultralytics YOLO27: انضم إلى قائمة الانتظار.
ترخيص YOLO
العودة إلى مسرد Ultralytics

ONNX (Open Neural Network Exchange)

ONNX تنسيق مفتوح يخزّن النموذج المدرَّب على هيئة رسم بياني من العمليات القياسية، لذا يمكن تشغيل نموذج دُرّب باستخدام PyTorch على العديد من بيئات التشغيل.

ONNX (تبادل الشبكات العصبية المفتوح) تنسيق ملفات قياسي مفتوح لنماذج تعلّم الآلة. يخزّن ملف .onnx نموذجًا مدرّبًا في صورة مخطط حسابي من عوامل قياسية مع أوزانه، كي يمكن تشغيل نموذج دُرّب باستخدام إطار عمل مثل PyTorch في بيئات تشغيل أخرى وعلى أنواع كثيرة من الأجهزة. أطلقت Facebook وMicrosoft مشروع ONNX في سبتمبر 2017، وأصبح مشروعًا متخرّجًا ضمن LF AI & Data، مؤسسة الذكاء الاصطناعي التابعة لـ Linux Foundation، منذ نوفمبر 2019. ويُعد ONNX نقطة التسليم المعتادة بين التدريب ونشر النموذج: إذ يمكن لملف مُصدَّر واحد أن يمد ONNX Runtime وTensorRT وOpenVINO ومترجمات العديد من مسرّعات الذكاء الاصطناعي الطرفي بالمدخلات.

محتويات ملف ONNX#

يُسلسَل نموذج ONNX باستخدام Protocol Buffers، ويحتوي على أربعة أجزاء:

  • المخطط: عُقد تستدعي عوامل مثل Conv وMatMul وRelu، وتتصل ببعضها بواسطة موترات مسماة. وتحمل مدخلات المخطط ومخرجاته أنواع البيانات وأشكالها، ويمكن أن يكون كل بُعد ثابتًا أو رمزيًا، مثل حجم دفعة متغير.
  • المهيِّئات: الأوزان المدرّبة. يضع Protocol Buffers حدًا أقصى لحجم الملف الواحد يبلغ 2 GB، لذا تخزّن النماذج الأكبر أوزانها في ملفات بيانات خارجية بجوار ملف .onnx.
  • إصدار مجموعة العوامل: تُرقّم العوامل ضمن مجموعات opset، ويجب أن يدعم وقت التشغيل مجموعة opset التي صُدّر بها النموذج. وتضيف مجموعات opset الجديدة عوامل من دون تغيير القديمة، مثل العامل Attention الذي أُضيف في opset 23.
  • البيانات الوصفية: اسم الجهة المنتجة وإصدار النموذج وأزواج مفتاح-قيمة مخصصة، مثل أسماء الفئات.

يغطي مجال عوامل ثانٍ، هو ONNX-ML، النماذج التقليدية مثل تجميعات الأشجار والمصنّفات الخطية، لذا تصدّر محوّلات مثل skl2onnx وonnxmltools نماذج scikit-learn وLightGBM وXGBoost إلى التنسيق نفسه. وتعرض أدوات مثل Netron المخطط عقدةً تلو الأخرى. عمليًا، يقع ONNX بين كثير من أطر التدريب وبيئات التشغيل:

تشغيل نماذج ONNX#

يشغّل ONNX Runtime، وهو محرك استدلال مفتوح المصدر من Microsoft، ملفات ONNX على الخوادم وأجهزة سطح المكتب والهواتف والمتصفحات. ويحسّن المخطط عند تحميل النموذج، مثل طيّ الثوابت ودمج الالتفاف مع تطبيع الدفعة الذي يليه، ثم يسلّم كل جزء من المخطط إلى موفّر تنفيذ ملائم للأجهزة المتاحة: CUDA أو TensorRT على وحدات معالجة الرسومات من NVIDIA، وOpenVINO على أجهزة Intel، وDirectML على وحدات معالجة الرسومات في Windows، وCore ML على أجهزة Apple، وQNN على وحدات NPU من Qualcomm، وWebGPU في المتصفحات. يعمل Windows ML، إطار الاستدلال المحلي من Microsoft، على ONNX Runtime، كما تستورد محركات أخرى مثل TensorRT وOpenVINO ملفات ONNX وتترجمها إلى تنسيقاتها الخاصة.

يُصدّر Ultralytics YOLO26 إلى ONNX باستخدام model.export(format="onnx")، كما ينشئ تصدير TensorRT من Ultralytics المحرك انطلاقًا من ملف ONNX نفسه. يعمل الملف المُصدَّر على ONNX Runtime دون PyTorch:

import onnxruntime as ort
from ultralytics import YOLO

# ⁨تصدير YOLO26n إلى ONNX مع أبعاد رمزية للدفعة والارتفاع والعرض⁩
model = YOLO("yolo26n.pt")
onnx_path = model.export(format="onnx", dynamic=True)

# ⁨تحميل المخطط البياني في ONNX Runtime، الذي لا يحتاج إلى PyTorch أو Ultralytics⁩
session = ort.InferenceSession(onnx_path, providers=["CPUExecutionProvider"])
for tensor in session.get_inputs() + session.get_outputs():
    print(tensor.name, tensor.shape)

يطبع مدخل المخطط البياني، images، بأبعاد رمزية للدفعة والارتفاع والعرض، ومخرج التنبؤ الخام، output0، وهو التوقيع الذي تستخدمه أي بيئة تشغيل ONNX لإدخال البيانات إلى النموذج وقراءة نتائجه.

  • ONNX Runtime: محرك الاستدلال الذي ينفّذ ملفات ONNX، وهو مشروع منفصل تقوده Microsoft، وغالبًا ما يختصره المستخدمون إلى «ONNX».
  • TensorRT: مُصرّف من NVIDIA يحوّل ملف ONNX إلى محرك مُحسّن لنوع واحد من وحدات GPU وإصدار واحد من TensorRT؛ لذلك تحتفظ الفرق بملف ONNX كمصدر قابل للنقل، وتعيد إنشاء المحركات لكل هدف.
  • تنسيقات PyTorch: تخزّن نقاط التحقق بتنسيق .pt وملفات safetensors أوزان النموذج اللازمة للشفرة التي تعيد بناءه، بينما تلتقط TorchScript وtorch.export الرسوم البيانية لبيئات تشغيل PyTorch نفسها.
  • تنسيقات النشر الأخرى: تستهدف كلٌّ من OpenVINO IR وملفات LiteRT .tflite وحزم Core ML وملفات GGUF الخاصة بنماذج LLM المكمّمة بيئات تشغيل محددة. تحوّل coremltools من Apple نماذج PyTorch مباشرةً، وقد أُزيل دعم إدخال ONNX في الإصدار 6.

تطبيقات عملية#

  • التطبيقات متعددة المنصات: يخدم ملف ONNX واحد خوادم Linux وتطبيقات Windows عبر Windows ML وتطبيقات Android وiOS عبر ONNX Runtime Mobile.
  • الاستدلال في المتصفح: يشغّل ONNX Runtime Web النماذج على جهاز المستخدم باستخدام WebGPU أو WebAssembly، لذلك لا تغادر إطارات الكاميرا المستخدمة لميزات مثل تقدير الوضعية المتصفح.
  • مسرّعات الحافة: تقبل سلاسل أدوات NPU من مورّدين مثل Hailo وQualcomm وRockchip نماذج ONNX كمدخلات وتُصرّفها، وغالبًا ما تستخدم التكميم إلى INT8، لتعمل على رقاقاتها.
  • النماذج التقليدية في بيئات الإنتاج: تعمل أشجار التعزيز بالتدرّج وخطوط معالجة scikit-learn المحوّلة إلى ONNX ضمن خدمات C# وJava وC++ عبر ONNX Runtime، من دون الحاجة إلى مفسّر Python في مسار تقديم الخدمة.

استكشف الحلول

الرؤية الحاسوبية في الرياضة

الرؤية الحاسوبية في الرياضة

اكتشف كيف يعزّز Ultralytics YOLO الرؤية الحاسوبية الرياضية عبر تتبّع اللاعبين والكرة، وتحليلات الأداء، ورؤى التدريب، وإعادة تأهيل الرياضيين.
معرفة المزيد
الرؤية الحاسوبية للصور الجوية

الرؤية الحاسوبية للصور الجوية

حوّل صور الطائرات المسيّرة والصور الجوية إلى رؤى آنية للزراعة وتربية الأحياء المائية والحفاظ على البيئة والتحليل الجغرافي المكاني باستخدام Ultralytics YOLO.
معرفة المزيد
الرؤية الحاسوبية في قطاع الطيران والفضاء

الرؤية الحاسوبية في قطاع الطيران والفضاء

طبّق الرؤية الحاسوبية في مجال الطيران والفضاء باستخدام Ultralytics YOLO لفحص الطائرات، واكتشاف الأجسام الغريبة على المدارج (FOD)، والعمليات الأرضية في المطارات، واكتشاف عيوب المواد المركّبة.
معرفة المزيد
الرؤية الحاسوبية في مجال الأمن

الرؤية الحاسوبية في مجال الأمن

احمِ كل موقع باستخدام نماذج Ultralytics YOLO. يدعم الذكاء الاصطناعي البصري مراقبة المحيط، واكتشاف التهديدات، والتعرف على لوحات المركبات، والسلامة في مكان العمل.
معرفة المزيد
الرؤية الحاسوبية في الروبوتات

الرؤية الحاسوبية في الروبوتات

عزّز أداء الآلات الذكية باستخدام نماذج Ultralytics YOLO. يدعم الذكاء الاصطناعي البصري في الروبوتات الملاحة الذاتية والإدراك وتعقب الأجسام والتحكم الآني.
معرفة المزيد
الرؤية الحاسوبية في الخدمات اللوجستية

الرؤية الحاسوبية في الخدمات اللوجستية

بسّط العمليات اللوجستية باستخدام نماذج Ultralytics YOLO. يتيح الذكاء الاصطناعي البصري فحص الطرود وفرزها وتتبع المركبات ومراقبة سلامة المستودعات في الوقت الفعلي.
معرفة المزيد
الرؤية الحاسوبية في تجارة التجزئة

الرؤية الحاسوبية في تجارة التجزئة

أعِد تصور تجارة التجزئة باستخدام نماذج Ultralytics YOLO. يتيح الذكاء الاصطناعي البصري تتبع المخزون ومراقبة الرفوف وإدارة الطوابير واستخلاص رؤى أذكى عن العملاء.
معرفة المزيد
الرؤية الحاسوبية في الرعاية الصحية

الرؤية الحاسوبية في الرعاية الصحية

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

الرؤية الحاسوبية في التصنيع

حسّن التصنيع باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي للرؤية مراقبة الجودة واكتشاف العيوب والالتزام بمعدات الوقاية الشخصية وأتمتة خطوط التجميع.
معرفة المزيد
الرؤية الحاسوبية في قطاع السيارات

الرؤية الحاسوبية في قطاع السيارات

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

الرؤية الحاسوبية في الزراعة

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

لنبنِ مستقبل الذكاء الاصطناعي معًا!

ابدأ رحلتك نحو مستقبل تعلّم الآلة