تصدير Ultralytics YOLO NCNN
يتطلب نشر نماذج رؤية الكمبيوتر على الأجهزة ذات القدرة الحاسوبية المحدودة، مثل أنظمة الهاتف المحمول أو الأنظمة المدمجة، اختيار تنسيق دقيق. يضمن استخدام تنسيق مُحسّن أن حتى الأجهزة ذات الموارد المحدودة يمكنها التعامل مع مهام رؤية الكمبيوتر المتقدمة بكفاءة.
يتيح لك التصدير إلى تنسيق NCNN تحسين نماذج Ultralytics YOLO26 الخاصة بك لتطبيقات الأجهزة خفيفة الوزن. يغطي هذا الدليل كيفية تحويل نماذجك إلى تنسيق NCNN لتحسين الأداء على الأجهزة المحمولة والمضمنة.
لماذا التصدير إلى NCNN؟

يُعد إطار عمل NCNN، الذي طورته Tencent، إطار عمل حوسبة استنتاج شبكة عصبية عالي الأداء ومُحسَّن خصيصًا للمنصات المحمولة، بما في ذلك الهواتف المحمولة والأجهزة المدمجة وأجهزة إنترنت الأشياء. يتوافق NCNN مع مجموعة واسعة من الأنظمة الأساسية، بما في ذلك Linux و Android و iOS و macOS.
يُعرف NCNN بسرعته العالية في المعالجة على وحدات CPU المحمولة ويمكّن النشر السريع لنماذج التعلم العميق إلى منصات الهاتف المحمول، مما يجعله خيارًا ممتازًا لبناء تطبيقات مدعومة بالذكاء الاصطناعي.
الميزات الرئيسية لنماذج NCNN
توفر نماذج NCNN العديد من الميزات الرئيسية التي تمكّن التعلم الآلي على الجهاز، مما يساعد المطورين على نشر النماذج على الأجهزة المحمولة والمدمجة وأجهزة الحافة:
فعالة وعالية الأداء: نماذج NCNN خفيفة الوزن ومُحسّنة للأجهزة المحمولة والمدمجة مثل Raspberry Pi ذات الموارد المحدودة، مع الحفاظ على دقة عالية في مهام رؤية الكمبيوتر.
التقمية: يدعم NCNN التقمية، وهي تقنية تقلل من دقة أوزان النموذج وتنشيطاته لتحسين الأداء وتقليل استهلاك الذاكرة.
التوافقية: نماذج NCNN متوافقة مع أطر عمل التعلم العميق الشائعة بما في ذلك TensorFlow و Caffe و ONNX، مما يتيح للمطورين الاستفادة من النماذج وسير العمل الموجودة.
سهولة الاستخدام: يوفر NCNN أدوات سهلة الاستخدام لتحويل النماذج بين التنسيقات، مما يضمن قابلية التشغيل البيني السلسة عبر بيئات التطوير المختلفة.
تسريع Vulkan GPU: يدعم NCNN Vulkan للاستدلال المُسرّع بواسطة GPU عبر بائعين متعددين بما في ذلك AMD و Intel ووحدات GPU الأخرى غير التابعة لـ NVIDIA، مما يتيح النشر عالي الأداء على نطاق أوسع من الأجهزة.
خيارات النشر مع NCNN
نماذج NCNN متوافقة مع مجموعة متنوعة من منصات النشر:
النشر على الهاتف المحمول: مُحسّن لنظامي Android و iOS، مما يتيح التكامل السلس في تطبيقات الهاتف المحمول للاستدلال الفعال على الجهاز.
الأنظمة المدمجة وأجهزة إنترنت الأشياء: مثالي للأجهزة ذات الموارد المحدودة مثل Raspberry Pi و NVIDIA Jetson. إذا كان الاستدلال القياسي على Raspberry Pi باستخدام دليل Ultralytics غير كافٍ، يمكن لـ NCNN توفير تحسينات كبيرة في الأداء.
النشر على أجهزة سطح المكتب والخوادم: يدعم النشر عبر أنظمة Linux و Windows و macOS لسير عمل التطوير والتدريب والتقييم.
تسريع Vulkan GPU
يدعم NCNN تسريع GPU عبر Vulkan، مما يتيح استنتاجًا عالي الأداء على مجموعة واسعة من وحدات GPU بما في ذلك بطاقات الرسوميات من AMD و Intel وغيرها من البطاقات غير التابعة لـ NVIDIA. وهذا مفيد بشكل خاص لـ:
- دعم وحدات GPU من بائعين متعددين: على عكس CUDA، الذي يقتصر على وحدات GPU من NVIDIA، يعمل Vulkan عبر بائعين متعددين لوحدات GPU.
- أنظمة Multi-GPU: حدد جهاز Vulkan معينًا في الأنظمة التي تحتوي على وحدات GPU متعددة باستخدام
device="vulkan:0",device="vulkan:1"، إلخ. - عمليات النشر على الأجهزة الطرفية والمكتبية: الاستفادة من تسريع GPU على الأجهزة التي لا يتوفر فيها CUDA.
لاستخدام تسريع Vulkan، حدد جهاز 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")
# Run inference with Vulkan GPU acceleration
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg' device=vulkan:0
متطلبات Vulkan
تأكد من تثبيت برامج تشغيل Vulkan لوحدة GPU الخاصة بك. تتضمن معظم برامج تشغيل GPU الحديثة دعم Vulkan افتراضيًا. يمكنك التحقق من توفر Vulkan باستخدام أدوات مثل vulkaninfo على Linux أو Vulkan SDK على Windows.
التصدير إلى NCNN: تحويل نموذج YOLO26 الخاص بك
يمكنك توسيع توافق النموذج ومرونة النشر عن طريق تحويل نماذج YOLO26 إلى تنسيق NCNN.
التثبيت
لتثبيت الحزم المطلوبة، قم بتشغيل:
التثبيت
# Install the required package for YOLO26
pip install ultralytics
للحصول على إرشادات مفصلة وأفضل الممارسات، راجع دليل تثبيت Ultralytics. إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة لدينا للحصول على حلول.
الاستخدام
تم تصميم جميع نماذج Ultralytics YOLO26 لدعم التصدير جاهزة للاستخدام، مما يسهل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات التكوين لاختيار أفضل إعداد لتطبيقك.
الاستخدام
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo26n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to NCNN format
yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
# Run inference with the exported model
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'
وسائط التصدير
| الوسيطة | النوع | افتراضي | الوصف |
|---|---|---|---|
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 silicon (device=mps). |
لمزيد من التفاصيل حول عملية التصدير، قم بزيارة صفحة وثائق Ultralytics حول التصدير.
نشر نماذج YOLO26 NCNN المُصدَّرة
بعد تصدير نماذج Ultralytics YOLO26 الخاصة بك إلى تنسيق NCNN، يمكنك نشرها باستخدام الـ YOLO("yolo26n_ncnn_model/") الطريقة كما هو موضح في مثال الاستخدام أعلاه. للحصول على إرشادات النشر الخاصة بالمنصة، راجع الموارد التالية:
Android: قم ببناء ودمج نماذج NCNN لـ object detection في تطبيقات Android.
macOS: انشر نماذج NCNN على أنظمة macOS.
Linux: انشر نماذج NCNN على أجهزة Linux بما في ذلك Raspberry Pi والأنظمة المدمجة المماثلة.
Windows x64: انشر نماذج NCNN على Windows x64 باستخدام Visual Studio.
ملخص
غطى هذا الدليل تصدير نماذج Ultralytics YOLO26 إلى تنسيق NCNN لتحسين الكفاءة والسرعة على الأجهزة ذات الموارد المحدودة.
للحصول على تفاصيل إضافية، ارجع إلى وثائق NCNN الرسمية. لخيارات التصدير الأخرى، قم بزيارة صفحة دليل التكامل لدينا.
الأسئلة الشائعة
كيف أقوم بتصدير نماذج Ultralytics YOLO26 إلى تنسيق NCNN؟
لتصدير نموذج Ultralytics YOLO26 الخاص بك إلى تنسيق NCNN:
Python: استخدم
exportmethod من فئة YOLO.from ultralytics import YOLO # Load the YOLO26 model model = YOLO("yolo26n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo26n_ncnn_model'CLI: استخدم
yolo exportcommand.yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
لخيارات التصدير التفصيلية، راجع وثائق التصدير.
ما هي مزايا تصدير نماذج YOLO26 إلى NCNN؟
يوفر تصدير نماذج Ultralytics YOLO26 الخاصة بك إلى NCNN عدة فوائد:
- الكفاءة: تم تحسين نماذج NCNN للأجهزة المحمولة والمضمنة، مما يضمن أداءً عاليًا حتى مع الموارد الحسابية المحدودة.
- التكميم: يدعم NCNN تقنيات مثل التكميم التي تعمل على تحسين سرعة النموذج وتقليل استخدام الذاكرة.
- توافق واسع: يمكنك نشر نماذج NCNN على منصات متعددة، بما في ذلك Android و iOS و Linux و macOS.
- تسريع Vulkan GPU: استفد من تسريع GPU على وحدات GPU من AMD و Intel وغيرها من الوحدات غير التابعة لـ NVIDIA عبر Vulkan لاستنتاج أسرع.
لمزيد من التفاصيل، راجع قسم لماذا التصدير إلى NCNN؟.
لماذا يجب عليّ استخدام NCNN لتطبيقات الذكاء الاصطناعي على الهاتف المحمول الخاصة بي؟
تم تطوير NCNN بواسطة Tencent، وهي مُحسَّنة خصيصًا للمنصات المحمولة. تشمل الأسباب الرئيسية لاستخدام NCNN ما يلي:
- أداء عالي: مصمم للمعالجة الفعالة والسريعة على وحدات المعالجة المركزية (CPU) المحمولة.
- عبر الأنظمة الأساسية: متوافق مع الأطر الشائعة مثل TensorFlow و ONNX، مما يسهل تحويل النماذج ونشرها عبر منصات مختلفة.
- دعم المجتمع: يضمن دعم المجتمع النشط التحسينات والتحديثات المستمرة.
لمزيد من المعلومات، راجع قسم الميزات الرئيسية لنماذج NCNN.
ما هي الأنظمة الأساسية المدعومة لنشر نموذج NCNN؟
تتميز NCNN بأنها متعددة الاستخدامات وتدعم منصات متنوعة:
- الأجهزة المحمولة: Android و iOS.
- الأنظمة المدمجة وأجهزة إنترنت الأشياء: أجهزة مثل Raspberry Pi و NVIDIA Jetson.
- أجهزة سطح المكتب والخوادم: Linux و Windows و macOS.
لتحسين الأداء على Raspberry Pi، فكر في استخدام تنسيق NCNN كما هو مفصل في دليل Raspberry Pi الخاص بنا.
كيف يمكنني نشر نماذج Ultralytics YOLO26 NCNN على Android؟
لنشر نماذج YOLO26 الخاصة بك على Android:
- بناء لنظام Android: اتبع دليل NCNN Build for Android.
- التكامل مع تطبيقك: استخدم NCNN Android SDK لدمج النموذج المصدر في تطبيقك لاستنتاج فعال على الجهاز.
للحصول على تعليمات مفصلة، انظر نشر نماذج YOLO26 NCNN المصدرة.
للمزيد من الأدلة المتقدمة وحالات الاستخدام، يرجى زيارة دليل نشر Ultralytics.
كيف أستخدم تسريع Vulkan GPU مع نماذج NCNN؟
يدعم NCNN Vulkan لتسريع GPU على وحدات GPU من AMD و Intel وغيرها من وحدات GPU غير التابعة لـ 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 الخاصة بك. راجع تسريع Vulkan GPU للمزيد من التفاصيل، راجع قسم.