Link to this sectionتصدير DEEPX لنماذج Ultralytics YOLO#
يتطلب نشر نماذج رؤية الحاسوب على أجهزة NPU المتخصصة تنسيق نموذج متوافق ومُحسّن. يمكّنك تصدير نماذج Ultralytics YOLO إلى تنسيق DEEPX من إجراء استدلال فعال ومُكمّم بـ INT8 على مسرعات DEEPX NPU. يوجهك هذا الدليل خلال عملية تحويل نماذج YOLO الخاصة بك إلى تنسيق DEEPX ونشرها على الأجهزة التي تعمل بواسطة DEEPX.
Link to this sectionما هو DEEPX؟#
DEEPX هي شركة أشباه موصلات متخصصة في الذكاء الاصطناعي، تركز على وحدات المعالجة العصبية (NPUs) المصممة لاستدلال التعلم العميق الموفر للطاقة عند الحافة. تم تصميم وحدات DEEPX NPU للتطبيقات المدمجة والصناعية المتطلبة للذكاء الاصطناعي، مما يوفر إنتاجية عالية مع الحد الأدنى من استهلاك الطاقة. أجهزتهم مناسبة تماماً لسيناريوهات النشر حيث يكون الاتصال السحابي غير موثوق به أو غير مرغوب فيه، مثل الروبوتات، والكاميرات الذكية، وأنظمة الأتمتة الصناعية.
Link to this sectionتنسيق تصدير DEEPX#
ينتج تصدير DEEPX ملف ثنائي للنموذج بامتداد .dxnn مُجمّع ومُحسّن للتنفيذ على أجهزة DEEPX NPU. تستخدم خطة التجميع مجموعة أدوات dx_com لإجراء تكميم INT8 والتحسين الخاص بالأجهزة، مما يولد مجلد نموذج مستقل جاهز للنشر.
Link to this sectionالميزات الرئيسية لنماذج DEEPX#
توفر نماذج DEEPX العديد من المزايا للنشر عند الحافة:
- تكميم INT8: يتم تكميم النماذج بدقة INT8 أثناء التصدير، مما يقلل من حجم النموذج بشكل كبير ويزيد من إنتاجية NPU. تعرف على المزيد حول تكميم النموذج.
- مُحسّن لـ NPU: تم تجميع تنسيق
.dxnnخصيصاً لأجهزة DEEPX NPU، مع الاستفادة من وحدات التسريع المخصصة لإجراء استدلال سريع وفعال. - استهلاك منخفض للطاقة: من خلال تفريغ عملية الاستدلال إلى NPU، تستهلك نماذج DEEPX طاقة أقل بكثير مقارنة بالاستدلال المماثل على CPU أو GPU.
- دقة مبنية على المعايرة: يستخدم التصدير المعايرة القائمة على EMA مع صور مجموعة بيانات حقيقية لتقليل فقدان الدقة أثناء التكميم.
- مخرج مستقل: يقوم مجلد النموذج المُصدّر بتجميع الملف الثنائي المُجمّع، وتكوين المعايرة، والبيانات الوصفية لنشر مباشر.
Link to this sectionالمهام المدعومة#
يتم دعم جميع مهام Ultralytics القياسية لتصدير DEEPX عبر عائلات نماذج YOLO26 و YOLO11 و YOLOv8.
Link to this sectionالتصدير إلى DEEPX: تحويل نموذج YOLO الخاص بك#
قم بتصدير نموذج Ultralytics YOLO إلى تنسيق DEEPX وقم بتشغيل الاستدلال باستخدام النموذج المُصدّر.
تصدير DEEPX مدعوم فقط على أجهزة Linux بمعمارية x86-64. معمارية ARM64 (aarch64) غير مدعومة لخطوة التصدير. ومع ذلك، فإن نماذج dxnn المُصدّرة متوافقة تماماً وقابلة للتنفيذ على منصات ARM64.
Link to this sectionالتثبيت#
لتثبيت الحزم المطلوبة، قم بتشغيل:
# Install the required package for YOLO
pip install ultralyticsسيتم تثبيت حزمة المترجم dx_com تلقائياً من مستودع DEEPX SDK عند أول عملية تصدير. للحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO، إذا واجهت أي صعوبات، استشر دليل المشكلات الشائعة للحصول على حلول ونصائح.
Link to this sectionالاستخدام#
يدعم تنسيق DEEPX أوضاع التصدير والتنبؤ والتحقق. يتم تشغيل الاستدلال والتحقق على أجهزة DEEPX NPU. قم بتصدير نموذجك، ثم قم بتحميل النموذج المُصدّر لتشغيل الاستدلال أو التحقق من دقته.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to DEEPX format (int8=True is enforced automatically)
model.export(format="deepx") # creates 'yolo26n_deepx_model/'from ultralytics import YOLO
# Load the exported DEEPX model
model = YOLO("yolo26n_deepx_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported DEEPX model
model = YOLO("yolo26n_deepx_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionوسائط التصدير#
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'deepx' | التنسيق المستهدف للنموذج المُصدّر، مما يحدد التوافق مع أجهزة DEEPX NPU. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لمدخلات النموذج. يتطلب تصدير DEEPX مدخلاً مربعاً - مرر عدداً صحيحاً (مثلاً 640) أو صفاً حيث يساوي الطول العرض. |
int8 | bool | True | يُمكّن تكميم INT8. مطلوب لتصدير DEEPX - يتم ضبطه تلقائياً على True إذا لم يتم تحديده. |
data | str | 'coco128.yaml' | ملف تكوين مجموعة البيانات المستخدم لمعايرة INT8. يحدد مصدر صورة المعايرة. |
device | str | None | يحدد الجهاز المطلوب للتصدير: GPU (device=0) أو CPU (device=cpu). |
optimize | bool | False | يُمكّن تحسين مترجم أعلى مما يقلل من وقت الاستدلال ويزيد من وقت التجميع. |
قم دائماً بتشغيل تصدير DEEPX على مضيف x86-64 Linux. مترجم dx_com لا يدعم ARM64.
لمزيد من التفاصيل حول عملية التصدير، قم بزيارة صفحة وثائق Ultralytics حول التصدير.
Link to this sectionهيكل المخرجات#
بعد تصدير ناجح، يتم إنشاء مجلد نموذج بالهيكل التالي:
yolo26n_deepx_model/
├── yolo26n.dxnn # Compiled DEEPX model binary (NPU executable)
├── config.json # Calibration and preprocessing configuration
└── metadata.yaml # Model metadata (classes, image size, task, etc.)ملف .dxnn هو الملف الثنائي للنموذج المُجمّع الذي يحمله وقت التشغيل dx_engine مباشرة على NPU. يحتوي metadata.yaml على أسماء الفئات، وحجم الصورة، ومعلومات أخرى تستخدمها خطة استدلال Ultralytics.
Link to this sectionنشر نماذج YOLO DEEPX المُصدّرة#
بمجرد تصدير نموذج Ultralytics YOLO الخاص بك بنجاح إلى تنسيق DEEPX، الخطوة التالية هي نشر هذه النماذج على أجهزة DEEPX NPU.
Link to this sectionتثبيت وقت التشغيل#
يتطلب الاستدلال تعريف أجهزة DEEPX NPU، ووقت التشغيل libdxrt، وحزمة Python الخاصة بـ dx_engine.
يدعم وقت تشغيل DEEPX كلاً من x86-64 Linux و ARM64 (مثلاً Raspberry Pi 5).
# Install the NPU driver and libdxrt runtime
sudo apt update
wget https://github.com/DEEPX-AI/dx_rt_npu_linux_driver/raw/main/release/2.4.1/dxrt-driver-dkms_2.4.1-2_all.deb
sudo apt install ./dxrt-driver-dkms_2.4.1-2_all.deb
wget https://github.com/DEEPX-AI/dx_rt/raw/main/release/3.3.2/libdxrt_3.3.2_all.deb
sudo apt install ./libdxrt_3.3.2_all.deb
# Create dx-engine wheel
cd /usr/share/libdxrt/python_package && sudo ./make_whl.sh
# Install the bundled dx_engine Python wheel
pip install dx_engine-*.whlتحقق من تثبيت وقت التشغيل بشكل صحيح باستخدام dxrt-cli --version. يجب أن ترى مخرجات مشابهة لما يلي:
DXRT v3.3.2
Minimum Driver Versions
Device Driver: v2.4.0
PCIe Driver: v2.2.0
Firmware: v2.5.2
Minimum Compiler Versions
Compiler: v1.18.1
.dxnn File Format: v6بمجرد تثبيت وقت التشغيل، قم بتشغيل الاستدلال والتحقق على جهاز DEEPX الخاص بك تماماً كما هو موضح في قسم الاستخدام أعلاه - يتم تحميل _deepx_model المُصدّر مباشرة باستخدام YOLO(...).
Link to this sectionالتصور باستخدام dxtron#
dxtron هو مصور الرسوم البيانية الخاص بـ DEEPX لفحص النموذج المُجمّع .dxnn.
قم بتثبيت dxtron على x86-64 Linux عن طريق تنزيل حزمة .deb من DEEPX SDK وتثبيتها عبر dpkg:
wget https://sdk.deepx.ai/release/dxtron/v2.0.1/dxtron_2.0.1_amd64.deb
sudo dpkg -i dxtron_2.0.1_amd64.debثم افتح نموذجك المُصدّر:
dxtron yolo26n_deepx_model/yolo26n.dxnndxtron متاح لكل من منصات x86-64 و aarch64.
Link to this sectionالمقاييس#
قام فريق Ultralytics بتقييم نماذج YOLO26، مقارناً السرعة والدقة بين PyTorch و DEEPX.
| النموذج | التنسيق | الحالة | الحجم (MB) | metrics/mAP50-95(B) | وقت الاستدلال (ms/im) |
|---|---|---|---|---|---|
| YOLO26n | PyTorch | ✅ | 5.3 | 0.4760 | 315.2 |
| YOLO26n | DEEPX | ✅ | 6.6 | 0.4660 | 34.6 |
| YOLO26n-seg | PyTorch | ✅ | 6.5 | 0.4080 | 485.4 |
| YOLO26n-seg | DEEPX | ✅ | 7.9 | 0.3920 | 53.8 |
| YOLO26n-pose | PyTorch | ✅ | 7.6 | 0.4230 | 506.3 |
| YOLO26n-pose | DEEPX | ✅ | 8.8 | 0.4590 | 37.6 |
| YOLO26n-obb | PyTorch | ✅ | 5.7 | 0.817 | 1094.4 |
| YOLO26n-obb | DEEPX | ✅ | 7.3 | 0.783 | 56.4 |
| النموذج | التنسيق | الحالة | الحجم (MB) | acc (top1) | acc (top5) | وقت الاستدلال (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n-cls | PyTorch | ✅ | 5.6 | 0.431 | 0.716 | 23.8 |
| YOLO26n-cls | DEEPX | ✅ | 5.9 | 0.333 | 0.686 | 2.7 |
تم إجراء التحقق من صحة المعايير المذكورة أعلاه باستخدام coco128 للكشف، وcoco128-seg للتقسيم، وcoco8-pose لتقدير الوضعية، وimagenet100 للتصنيف، وdota128 لنماذج OBB. لا يتضمن وقت الاستنتاج المعالجة الأولية أو اللاحقة.
للحصول على أفضل إنتاجية استنتاج من وحدة معالجة الشبكات العصبية (NPU) من طراز DX-M1 المتصلة بجهاز Raspberry Pi 5، افتح ملف تكوين الإقلاع وقم بتفعيل دعم PCIe Gen 3.
sudo nano /boot/firmware/config.txtأضف الأسطر التالية في نهاية الملف:
dtparam=pciex1
dtparam=pciex1_gen=3احفظ الملف واخرج (Ctrl+X، ثم Y، ثم Enter)، ثم أعد التشغيل:
sudo rebootتحقق من جيل PCIe. السرعة المتوقعة هي 8GT/s لـ PCIe Gen3.
sudo lspci -vvv | grep -iA 33 accelerators | grep -E "LnkCap|LnkSta"Link to this sectionسير العمل الموصى به#
- درّب نموذجك باستخدام وضع التدريب الخاص بـ Ultralytics
- صدّر إلى تنسيق DEEPX باستخدام
model.export(format="deepx") - تحقق من الدقة باستخدام
yolo valللتأكد من الحد الأدنى لفقدان التكميم - تنبأ باستخدام
yolo predictللتحقق النوعي - نشر دليل
_deepx_model/المصدّر إلى أجهزة NPU من DEEPX باستخدام بيئة تشغيلdx_engine
Link to this sectionتطبيقات العالم الحقيقي#
تعد نماذج YOLO المنشورة على أجهزة DEEPX NPU مناسبة تماماً لمجموعة واسعة من تطبيقات الذكاء الاصطناعي الطرفي:
- المراقبة الذكية: اكتشاف الكائنات في الوقت الفعلي لأنظمة الأمن والمراقبة باستهلاك منخفض للطاقة وبدون الاعتماد على السحابة.
- الأتمتة الصناعية: مراقبة الجودة على الجهاز، واكتشاف العيوب، ومراقبة العمليات في بيئات المصانع.
- الروبوتات: التنقل القائم على الرؤية، وتجنب العوائق، والتعرف على الأشياء في الروبوتات والطائرات بدون طيار المستقلة.
- الزراعة الذكية: مراقبة صحة المحاصيل، واكتشاف الآفات، وتقدير المحصول باستخدام رؤية الكمبيوتر في الزراعة.
- تحليلات التجزئة: تحليل تدفق العملاء، ومراقبة الأرفف، وتتبع المخزون مع استنتاج طرفي في الوقت الفعلي.
Link to this sectionملخص#
في هذا الدليل، تعلمت كيفية تصدير نماذج Ultralytics YOLO إلى تنسيق DEEPX ونشرها على أجهزة DEEPX NPU. يستخدم خط أنابيب التصدير معايرة INT8 ومترجم dx_com لإنتاج ملف ثنائي .dxnn مُحسَّن للأجهزة، بينما تتعامل بيئة تشغيل dx_engine مع الاستنتاج على الجهاز.
يوفر الجمع بين Ultralytics YOLO وتقنية NPU من DEEPX حلاً فعالاً لتشغيل أعباء عمل رؤية الكمبيوتر المتقدمة على الأجهزة المدمجة والطرفية — مما يوفر إنتاجية عالية باستهلاك منخفض للطاقة للتطبيقات في الوقت الفعلي.
لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة الموقع الرسمي لـ DEEPX.
أيضاً، إذا كنت ترغب في معرفة المزيد حول تكاملات Ultralytics YOLO الأخرى، تفضل بزيارة صفحة دليل التكامل الخاصة بنا. ستجد الكثير من الموارد والرؤى المفيدة هناك.
Link to this sectionأسئلة مكررة (FAQ)#
Link to this sectionكيف يمكنني تصدير نموذج Ultralytics YOLO الخاص بي إلى تنسيق DEEPX؟#
يمكنك تصدير نموذجك باستخدام طريقة export() في Python أو عبر CLI. يُمكّن التصدير تلقائياً تكميم INT8 ويستخدم مجموعة بيانات معايرة لتقليل فقدان الدقة. يتم تثبيت حزمة مترجم dx_com تلقائياً إذا لم تكن موجودة بالفعل.
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="deepx")Link to this sectionلماذا يتطلب تصدير DEEPX تكميم INT8؟#
تم تصميم وحدات DEEPX NPU لتنفيذ عمليات حساب INT8 بأقصى قدر من الكفاءة. يقوم مترجم dx_com بتكميم النموذج أثناء التصدير باستخدام معايرة قائمة على EMA مع صور مجموعة بيانات حقيقية، مما يمكّن وحدة NPU من تقديم أدائها الكامل. يتم فرض INT8 دائماً لتصديرات DEEPX — إذا قمت بتمرير int8=False، فسيتم إلغاؤه مع تحذير.
Link to this sectionما هي المنصات المدعومة لتصدير DEEPX؟#
يتطلب تصدير نموذج DEEPX (التجميع) مضيف x86-64 Linux. خطوة التصدير غير مدعومة على أجهزة ARM64 (aarch64) وWindows. يمكن تشغيل الاستنتاج باستخدام نموذج .dxnn المصدّر على أي منصة Linux (x86-64 وARM64) مدعومة بواسطة بيئة تشغيل dx_engine.
Link to this sectionما هو ناتج تصدير DEEPX؟#
ينشئ التصدير دليلاً (على سبيل المثال، yolo26n_deepx_model/) يحتوي على:
yolo26n.dxnn— الملف الثنائي المجمّع لـ NPUconfig.json— إعدادات المعايرة والمعالجة المسبقةmetadata.yaml— بيانات تعريف النموذج بما في ذلك أسماء الفئات وحجم الصورة
Link to this sectionهل يمكنني نشر نماذج مدربة مخصصة على أجهزة DEEPX؟#
نعم. يمكن نشر أي نموذج تم تدريبه باستخدام وضع التدريب الخاص بـ Ultralytics وتم تصديره باستخدام format="deepx" على أجهزة DEEPX NPU، بشرط أن يستخدم عمليات طبقات مدعومة. يدعم التصدير مهام الكشف، والتقسيم، وتقدير الوضعية، وصندوق التحديد الموجه (OBB)، والتصنيف.
Link to this sectionكم عدد صور المعايرة التي يجب أن أستخدمها لتصدير DEEPX؟#
يستخدم خط أنابيب تصدير DEEPX كل صورة في مجموعة بيانات المعايرة (بعد تصفية fraction) مع طريقة معايرة EMA. عادة ما يكون بضع مئات من الصور كافياً لدقة تكميم جيدة. قم بتوجيه data إلى مجموعة بيانات أصغر (أو اضبط fraction أقل من 1.0) إذا أصبح وقت التجميع مصدر قلق في مجموعات البيانات الكبيرة.
Link to this sectionكيف أقوم بتثبيت بيئة تشغيل DEEPX للاستنتاج؟#
بيئة تشغيل DEEPX غير مرفقة مع ultralytics ويجب تثبيتها بشكل منفصل قبل تشغيل الاستنتاج. على أجهزة x86-64 Linux وأجهزة ARM64 Linux (مثل Raspberry Pi 5)، قم بتثبيت برنامج تشغيل NPU (dxrt-driver-dkms) وبيئة التشغيل (libdxrt) من إصدارات DEEPX-AI على GitHub، ثم قم بتثبيت حزمة dx_engine Python المجمّعة. راجع قسم تثبيت بيئة التشغيل أعلاه للحصول على أوامر خطوة بخطوة.