Link to this sectionتصدير Ultralytics YOLO إلى صيغة NCNN#
يتطلب نشر نماذج الرؤية الحاسوبية على أجهزة ذات قدرة حوسبية محدودة، مثل الأجهزة المحمولة أو الأنظمة المضمنة، اختياراً دقيقاً للصيغة. يضمن استخدام صيغة محسّنة قدرة حتى الأجهزة ذات الموارد المحدودة على التعامل مع مهام الرؤية الحاسوبية المتقدمة بكفاءة.
يتيح لك التصدير إلى صيغة NCNN تحسين نماذج Ultralytics YOLO26 الخاصة بك للتطبيقات خفيفة الوزن التي تعتمد على الأجهزة. يغطي هذا الدليل كيفية تحويل نماذجك إلى صيغة NCNN لتحسين الأداء على الأجهزة المحمولة والمضمنة.
Link to this sectionلماذا التصدير إلى NCNN؟#
إطار العمل NCNN، الذي طورته Tencent، هو إطار عمل حوسبة استنتاجي عالي الأداء لـ الشبكات العصبية ومُحسّن خصيصاً للمنصات المحمولة، بما في ذلك الهواتف المحمولة، والأجهزة المضمنة، وأجهزة إنترنت الأشياء (IoT). يتوافق NCNN مع مجموعة واسعة من المنصات، بما في ذلك Linux وAndroid وiOS وmacOS.
يُعرف NCNN بسرعته العالية في المعالجة على وحدات المعالجة المركزية (CPU) للهواتف المحمولة، ويمكّن من النشر السريع لنماذج التعلم العميق على المنصات المحمولة، مما يجعله خياراً ممتازاً لبناء تطبيقات مدعومة بالذكاء الاصطناعي.
Link to this sectionالميزات الرئيسية لنماذج NCNN#
توفر نماذج NCNN العديد من الميزات الرئيسية التي تمكّن التعلم الآلي على الجهاز، مما يساعد المطورين على نشر النماذج على الأجهزة المحمولة والمضمنة وأجهزة الحافة:
-
فعالة وعالية الأداء: نماذج NCNN خفيفة الوزن ومُحسّنة للأجهزة المحمولة والمضمنة مثل Raspberry Pi ذات الموارد المحدودة، مع الحفاظ على دقة عالية في مهام الرؤية الحاسوبية.
-
التكميم (Quantization): يدعم NCNN التكميم، وهي تقنية تقلل من دقة أوزان النموذج والتنشيطات لتحسين الأداء وتقليل استهلاك الذاكرة.
-
التوافق: نماذج NCNN متوافقة مع أطر عمل التعلم العميق الشهيرة بما في ذلك TensorFlow وCaffe وONNX، مما يسمح للمطورين بالاستفادة من النماذج وسير العمل الحالية.
-
سهولة الاستخدام: يوفر NCNN أدوات سهلة الاستخدام لتحويل النماذج بين الصيغ، مما يضمن توافقاً سلساً عبر بيئات التطوير المختلفة.
-
تسريع GPU عبر Vulkan: يدعم NCNN تقنية Vulkan للاستنتاج المُسرَّع عبر GPU من مختلف البائعين بما في ذلك AMD وIntel وغيرها من وحدات GPU غير التابعة لـ NVIDIA، مما يتيح نشراً عالي الأداء على نطاق أوسع من الأجهزة.
Link to this sectionخيارات النشر باستخدام NCNN#
نماذج NCNN متوافقة مع مجموعة متنوعة من منصات النشر:
-
النشر على الأجهزة المحمولة: مُحسّنة لنظامي Android وiOS، مما يتيح تكاملاً سلساً في تطبيقات الهاتف المحمول للاستنتاج الفعال على الجهاز.
-
الأنظمة المضمنة وأجهزة إنترنت الأشياء: مثالية للأجهزة ذات الموارد المحدودة مثل Raspberry Pi وNVIDIA Jetson. إذا كان الاستنتاج القياسي على Raspberry Pi باستخدام دليل Ultralytics غير كافٍ، يمكن لـ NCNN توفير تحسينات كبيرة في الأداء.
-
النشر على سطح المكتب والخادم: يدعم النشر عبر Linux وWindows وmacOS لسير عمل التطوير والتدريب والتقييم.
Link to this sectionتسريع GPU عبر Vulkan#
يدعم NCNN تسريع GPU من خلال Vulkan، مما يتيح استنتاجاً عالي الأداء على مجموعة واسعة من وحدات GPU بما في ذلك AMD وIntel وغيرها من بطاقات الرسوميات غير التابعة لـ NVIDIA. هذا مفيد بشكل خاص لـ:
- دعم GPU متعدد البائعين: على عكس CUDA، الذي يقتصر على وحدات GPU من NVIDIA، يعمل Vulkan عبر بائعي GPU متعددين.
- أنظمة متعددة وحدات GPU: اختر جهاز Vulkan محدداً في الأنظمة التي تحتوي على وحدات GPU متعددة باستخدام
device="vulkan:0"وdevice="vulkan:1"، إلخ. - عمليات النشر على الحافة وسطح المكتب: استفد من تسريع GPU على الأجهزة التي لا يتوفر فيها CUDA.
لاستخدام تسريع Vulkan، حدد جهاز Vulkan عند تشغيل الاستنتاج:
from ultralytics import YOLO
# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")
# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")
# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")تأكد من تثبيت برامج تشغيل Vulkan الخاصة بـ GPU لديك. تتضمن معظم برامج تشغيل GPU الحديثة دعم Vulkan بشكل افتراضي. يمكنك التحقق من توفر Vulkan باستخدام أدوات مثل vulkaninfo على Linux أو Vulkan SDK على Windows.
Link to this sectionالتصدير إلى NCNN: تحويل نموذج YOLO26 الخاص بك#
يمكنك توسيع توافق النموذج ومرونة النشر عن طريق تحويل نماذج YOLO26 إلى صيغة NCNN.
Link to this sectionالمهام المدعومة#
يدعم تصدير NCNN مجموعة مهام Ultralytics YOLO26 القياسية.
Link to this sectionالتثبيت#
لتثبيت الحزم المطلوبة، قم بتشغيل:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات، راجع دليل تثبيت Ultralytics. إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على حلول.
Link to this sectionالاستخدام#
تم تصميم جميع نماذج Ultralytics YOLO26 لدعم التصدير بشكل مباشر، مما يسهل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لصيغ التصدير المدعومة وخيارات التهيئة لاختيار الإعداد الأفضل لتطبيقك.
تدعم صيغة NCNN أوضاع التصدير (Export)، والتنبؤ (Predict)، والتحقق (Validate). قم بتصدير نموذجك، ثم قم بتحميل النموذج المُصدَّر لتشغيل الاستنتاج أو التحقق من دقته.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo26n_ncnn_model'from ultralytics import YOLO
# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionوسائط التصدير#
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'ncnn' | الصيغة المستهدفة للنموذج المُصدَّر، والتي تحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو صفاً (height, width) لأبعاد محددة. |
half | bool | False | يمكّن تكميم FP16 (نصف الدقة)، مما يقلل من حجم النموذج وربما يسرع الاستنتاج على الأجهزة المدعومة. |
batch | int | 1 | يحدد حجم استنتاج دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict. |
device | str | None | يحدد الجهاز للتصدير: GPU (device=0)، CPU (device=cpu)، MPS لرقائق Apple (device=mps). |
لمزيد من التفاصيل حول عملية التصدير، قم بزيارة صفحة وثائق Ultralytics حول التصدير.
Link to this sectionنشر نماذج Ultralytics YOLO26 NCNN المُصدَّرة#
بعد تصدير نماذج Ultralytics YOLO26 الخاصة بك إلى صيغة NCNN، يمكنك نشرها باستخدام طريقة YOLO("yolo26n_ncnn_model/") كما هو موضح في مثال الاستخدام أعلاه. للحصول على تعليمات النشر الخاصة بكل منصة، راجع الموارد التالية:
-
Android: قم ببناء ودمج نماذج NCNN لـ اكتشاف الكائنات في تطبيقات Android.
-
macOS: نشر نماذج NCNN على أنظمة macOS.
-
Linux: نشر نماذج NCNN على أجهزة Linux بما في ذلك Raspberry Pi والأنظمة المضمنة المماثلة.
-
Windows x64: نشر نماذج NCNN على Windows x64 باستخدام Visual Studio.
Link to this sectionملخص#
غطى هذا الدليل تصدير نماذج Ultralytics YOLO26 إلى صيغة NCNN لتحسين الكفاءة والسرعة على الأجهزة ذات الموارد المحدودة.
لمزيد من التفاصيل، راجع وثائق NCNN الرسمية. للحصول على خيارات تصدير أخرى، قم بزيارة صفحة دليل التكامل الخاصة بنا.
Link to this sectionالأسئلة الشائعة (FAQ)#
Link to this sectionكيف أقوم بتصدير نماذج Ultralytics YOLO26 إلى صيغة NCNN؟#
لتصدير نموذج Ultralytics YOLO26 الخاص بك إلى صيغة NCNN:
-
Python: استخدم طريقة
exportمن فئة YOLO.from ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo26n_ncnn_model' -
CLI: استخدم أمر
yolo export.yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
للحصول على خيارات تصدير مفصلة، راجع وثائق التصدير (Export).
Link to this sectionما هي مزايا تصدير نماذج YOLO26 إلى NCNN؟#
يوفر تصدير نماذج Ultralytics YOLO26 إلى NCNN العديد من المزايا:
- الكفاءة: نماذج NCNN مُحسّنة للأجهزة المحمولة والمضمنة، مما يضمن أداءً عالياً حتى مع الموارد الحوسبية المحدودة.
- التكميم (Quantization): يدعم NCNN تقنيات مثل التكميم التي تحسن سرعة النموذج وتقلل من استخدام الذاكرة.
- توافق واسع: يمكنك نشر نماذج NCNN على منصات متعددة، بما في ذلك Android وiOS وLinux وmacOS.
- تسريع GPU عبر Vulkan: استفد من تسريع GPU على وحدات GPU من AMD وIntel وغيرها من الوحدات غير التابعة لـ NVIDIA عبر Vulkan للحصول على استنتاج أسرع.
لمزيد من التفاصيل، راجع قسم لماذا التصدير إلى NCNN؟.
Link to this sectionلماذا يجب أن أستخدم NCNN لتطبيقات الذكاء الاصطناعي على الهاتف المحمول؟#
إطار NCNN، الذي طورته Tencent، مُحسّن خصيصاً للمنصات المحمولة. تشمل الأسباب الرئيسية لاستخدام NCNN ما يلي:
- أداء عالٍ: مصمم لمعالجة فعالة وسريعة على وحدات المعالجة المركزية (CPU) للهواتف المحمولة.
- متعدد المنصات: متوافق مع أطر عمل شهيرة مثل TensorFlow وONNX، مما يجعل من السهل تحويل النماذج ونشرها عبر منصات مختلفة.
- دعم المجتمع: يضمن دعم المجتمع النشط تحسينات وتحديثات مستمرة.
لمزيد من المعلومات، راجع قسم الميزات الرئيسية لنماذج NCNN.
Link to this sectionما هي المنصات المدعومة لـ نشر النماذج باستخدام NCNN؟#
NCNN مرن ويدعم منصات متنوعة:
- الجوال: Android، iOS.
- الأنظمة المضمنة وأجهزة إنترنت الأشياء: أجهزة مثل Raspberry Pi وNVIDIA Jetson.
- سطح المكتب والخوادم: Linux، Windows، وmacOS.
لتحسين الأداء على Raspberry Pi، فكر في استخدام صيغة NCNN كما هو موضح في دليل Raspberry Pi الخاص بنا.
Link to this sectionكيف يمكنني نشر نماذج Ultralytics YOLO26 NCNN على Android؟#
لنشر نماذج YOLO26 الخاصة بك على Android:
- البناء لـ Android: اتبع دليل NCNN Build for Android.
- التكامل مع تطبيقك: استخدم NCNN Android SDK لدمج النموذج المُصدَّر في تطبيقك من أجل استنتاج فعال على الجهاز.
للحصول على تعليمات مفصلة، راجع نشر نماذج YOLO26 NCNN المُصدَّرة.
لمزيد من الأدلة المتقدمة وحالات الاستخدام، تفضل بزيارة دليل نشر Ultralytics.
Link to this sectionكيف يمكنني استخدام تسريع GPU عبر Vulkan مع نماذج NCNN؟#
يدعم NCNN تقنية Vulkan لتسريع GPU على وحدات GPU من AMD وIntel وغيرها من الوحدات غير التابعة لـ NVIDIA. لاستخدام Vulkan:
from ultralytics import YOLO
# Load NCNN model and run with Vulkan GPU
model = YOLO("yolo26n_ncnn_model")
results = model("image.jpg", device="vulkan:0") # Use first Vulkan deviceبالنسبة للأنظمة التي تحتوي على وحدات GPU متعددة، حدد مؤشر الجهاز (على سبيل المثال، vulkan:1 لوحدة GPU الثانية). تأكد من تثبيت برامج تشغيل Vulkan الخاصة بـ GPU لديك. راجع قسم تسريع GPU عبر Vulkan لمزيد من التفاصيل.