كيفية التصدير إلى NCNN من YOLO11 لنشر سلس
قد يكون نشر نماذج الرؤية الحاسوبية على الأجهزة ذات القدرة الحاسوبية المحدودة، مثل الأنظمة المحمولة أو المدمجة، أمرًا صعبًا. تحتاج إلى التأكد من استخدام تنسيق مُحسَّن لتحقيق الأداء الأمثل. وهذا يضمن أنه حتى الأجهزة ذات قوة المعالجة المحدودة يمكنها التعامل مع مهام الرؤية الحاسوبية المتقدمة بشكل جيد.
تتيح لك ميزة التصدير إلى تنسيق NCNN تحسين نماذج Ultralytics YOLO11 الخاصة بك للتطبيقات خفيفة الوزن المستندة إلى الأجهزة. في هذا الدليل، سنوجهك خلال كيفية تحويل نماذجك إلى تنسيق NCNN، مما يسهل على نماذجك الأداء الجيد على مختلف الأجهزة المحمولة والمضمنة.
لماذا يجب عليك التصدير إلى NCNN؟
يُعد إطار عمل NCNN، الذي طورته Tencent، إطار عمل حوسبة استنتاج شبكة عصبية عالي الأداء ومُحسَّن خصيصًا للمنصات المحمولة، بما في ذلك الهواتف المحمولة والأجهزة المدمجة وأجهزة إنترنت الأشياء. يتوافق NCNN مع مجموعة واسعة من الأنظمة الأساسية، بما في ذلك Linux و Android و iOS و macOS.
تشتهر NCNN بسرعة المعالجة العالية على وحدات المعالجة المركزية (CPUs) للأجهزة المحمولة وتمكن من النشر السريع لنماذج التعلم العميق على منصات الأجهزة المحمولة. وهذا يجعل من السهل إنشاء تطبيقات ذكية، مما يضع قوة الذكاء الاصطناعي في متناول يدك.
الميزات الرئيسية لنماذج NCNN
توفر نماذج NCNN مجموعة واسعة من الميزات الرئيسية التي تتيح التعلم الآلي على الجهاز من خلال مساعدة المطورين على تشغيل نماذجهم على الأجهزة المحمولة والمدمجة والحافة:
-
كفاءة وأداء عالي: تم تصميم نماذج NCNN لتكون فعالة وخفيفة الوزن، ومحسّنة للتشغيل على الأجهزة المحمولة والمضمنة مثل Raspberry Pi بموارد محدودة. يمكنهم أيضًا تحقيق أداء عالٍ بدقة عالية في مختلف المهام القائمة على رؤية الكمبيوتر.
-
التكميم: غالبًا ما تدعم نماذج NCNN التكميم وهي تقنية تقلل من دقة أوزان النموذج وتنشيطاته. يؤدي هذا إلى مزيد من التحسينات في الأداء ويقلل من حجم الذاكرة.
-
التوافق: تتوافق نماذج NCNN مع أطر عمل التعلم العميق الشائعة مثل TensorFlow و Caffe و ONNX. يتيح هذا التوافق للمطورين استخدام النماذج وسير العمل الحالية بسهولة.
-
سهولة الاستخدام: تم تصميم نماذج NCNN لسهولة دمجها في مختلف التطبيقات، وذلك بفضل توافقها مع أطر عمل التعلم العميق الشائعة. بالإضافة إلى ذلك، توفر NCNN أدوات سهلة الاستخدام لتحويل النماذج بين التنسيقات المختلفة، مما يضمن التشغيل البيني السلس عبر مشهد التطوير.
خيارات النشر مع NCNN
قبل أن ننظر إلى التعليمات البرمجية لتصدير نماذج YOLO11 إلى تنسيق NCNN، دعنا نفهم كيف يتم استخدام نماذج NCNN عادةً.
نماذج NCNN، المصممة لتحقيق الكفاءة والأداء، متوافقة مع مجموعة متنوعة من منصات النشر:
-
النشر على الأجهزة المحمولة: مُحسَّن خصيصًا لنظامي التشغيل Android و iOS، مما يتيح التكامل السلس في تطبيقات الأجهزة المحمولة للاستدلال الفعال على الجهاز.
-
الأنظمة المدمجة وأجهزة إنترنت الأشياء (IoT): إذا وجدت أن تشغيل الاستدلال على Raspberry Pi باستخدام دليل Ultralytics ليس سريعًا بما فيه الكفاية، فقد يساعد التحول إلى نموذج مُصدَّر من NCNN في تسريع الأمور. يعتبر NCNN رائعًا للأجهزة مثل Raspberry Pi و NVIDIA Jetson، خاصة في الحالات التي تحتاج فيها إلى معالجة سريعة مباشرة على الجهاز.
-
النشر على أجهزة سطح المكتب والخوادم: قادرة على النشر في بيئات سطح المكتب والخوادم عبر Linux و Windows و macOS، ودعم التطوير والتدريب والتقييم بقدرات حسابية أعلى.
التصدير إلى NCNN: تحويل نموذج YOLO11 الخاص بك
يمكنك توسيع توافق النموذج ومرونة النشر عن طريق تحويل نماذج YOLO11 إلى تنسيق NCNN.
التثبيت
لتثبيت الحزم المطلوبة، قم بتشغيل:
التثبيت
# Install the required package for YOLO11
pip install ultralytics
للحصول على إرشادات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO11، إذا واجهت أي صعوبات، فراجع دليل المشكلات الشائعة للحصول على الحلول والنصائح.
الاستخدام
تم تصميم جميع نماذج Ultralytics YOLO11 لدعم التصدير خارج الصندوق، مما يسهل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات التكوين لاختيار أفضل إعداد لتطبيقك.
الاستخدام
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo11n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo11n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to NCNN format
yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
# Run inference with the exported model
yolo predict model='./yolo11n_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 حول التصدير.
نشر نماذج YOLO11 NCNN المصدرة
بعد تصدير نماذج Ultralytics YOLO11 بنجاح إلى تنسيق NCNN، يمكنك الآن نشرها. الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج NCNN هي استخدام طريقة YOLO("yolo11n_ncnn_model/")، كما هو موضح في مقتطف كود الاستخدام السابق. ومع ذلك، للحصول على إرشادات متعمقة حول نشر نماذج NCNN الخاصة بك في إعدادات أخرى متنوعة، ألق نظرة على الموارد التالية:
-
Android: تشرح هذه المدونة كيفية استخدام نماذج NCNN لأداء مهام مثل الكشف عن الكائنات من خلال تطبيقات Android.
-
macOS: افهم كيفية استخدام نماذج NCNN لأداء المهام من خلال macOS.
-
Linux: استكشف هذه الصفحة لمعرفة كيفية نشر نماذج NCNN على الأجهزة ذات الموارد المحدودة مثل Raspberry Pi والأجهزة المماثلة الأخرى.
-
Windows x64 باستخدام VS2017: استكشف هذه المدونة لمعرفة كيفية نشر نماذج NCNN على windows x64 باستخدام Visual Studio Community 2017.
ملخص
في هذا الدليل، استعرضنا تصدير نماذج Ultralytics YOLO11 إلى تنسيق NCNN. تعتبر خطوة التحويل هذه ضرورية لتحسين كفاءة وسرعة نماذج YOLO11، مما يجعلها أكثر فعالية ومناسبة لبيئات الحوسبة ذات الموارد المحدودة.
للحصول على إرشادات مفصلة حول الاستخدام، يرجى الرجوع إلى وثائق NCNN الرسمية.
أيضًا، إذا كنت مهتمًا باستكشاف خيارات تكامل أخرى لـ Ultralytics YOLO11، فتأكد من زيارة صفحة دليل التكامل الخاصة بنا للحصول على مزيد من الأفكار والمعلومات.
الأسئلة الشائعة
كيف يمكنني تصدير نماذج Ultralytics YOLO11 إلى صيغة NCNN؟
لتصدير نموذج Ultralytics YOLO11 الخاص بك إلى تنسيق NCNN، اتبع الخطوات التالية:
-
Python: استخدم
export
الدالة من فئة YOLO.from ultralytics import YOLO # Load the YOLO11 model model = YOLO("yolo11n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo11n_ncnn_model'
-
CLI: استخدم
yolo
أمر مع الـexport
وسيطة.yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
للحصول على خيارات تصدير مفصلة، تحقق من صفحة تصدير في الوثائق.
ما هي مزايا تصدير نماذج YOLO11 إلى NCNN؟
يوفر تصدير نماذج Ultralytics YOLO11 الخاصة بك إلى NCNN العديد من المزايا:
- الكفاءة: تم تحسين نماذج NCNN للأجهزة المحمولة والمضمنة، مما يضمن أداءً عاليًا حتى مع الموارد الحسابية المحدودة.
- التكميم: يدعم NCNN تقنيات مثل التكميم التي تعمل على تحسين سرعة النموذج وتقليل استخدام الذاكرة.
- توافق واسع: يمكنك نشر نماذج NCNN على منصات متعددة، بما في ذلك Android و iOS و Linux و macOS.
لمزيد من التفاصيل، راجع قسم التصدير إلى 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 YOLO11 NCNN على Android؟
لنشر نماذج YOLO11 الخاصة بك على Android:
- بناء لنظام Android: اتبع دليل NCNN Build for Android.
- التكامل مع تطبيقك: استخدم NCNN Android SDK لدمج النموذج المصدر في تطبيقك لاستنتاج فعال على الجهاز.
للحصول على إرشادات خطوة بخطوة، ارجع إلى دليلنا حول نشر نماذج YOLO11 NCNN.
للحصول على مزيد من الأدلة وحالات الاستخدام المتقدمة، قم بزيارة صفحة وثائق Ultralytics.