انتقل إلى المحتوى

كيفية التصدير إلى NCNN من YOLOv8 للنشر السلس

قد يكون نشر نماذج رؤية الكمبيوتر على الأجهزة ذات الطاقة الحسابية المحدودة ، مثل الأنظمة المحمولة أو المدمجة ، أمرا صعبا. تحتاج إلى التأكد من استخدام تنسيق محسن للحصول على الأداء الأمثل. هذا يضمن أنه حتى الأجهزة ذات قوة المعالجة المحدودة يمكنها التعامل مع مهام رؤية الكمبيوتر المتقدمة بشكل جيد.

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

لماذا يجب عليك التصدير إلى NCNN?

NCNN نظره عامه

ال NCNN إطار العمل ، الذي طورته Tencent ، هو إطار حوسبة استدلال شبكة عصبية عالي الأداء تم تحسينه خصيصا لمنصات الأجهزة المحمولة ، بما في ذلك الهواتف المحمولة والأجهزة المدمجة وأجهزة إنترنت الأشياء. NCNN متوافق مع مجموعة واسعة من الأنظمة الأساسية ، بما في ذلك Linux و Android و iOS و macOS.

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

الميزات الرئيسية ل NCNN نماذج

NCNN تقدم الطرز مجموعة واسعة من الميزات الرئيسية التي تتيح التعلم الآلي على الجهاز من خلال مساعدة المطورين على تشغيل نماذجهم على الأجهزة المحمولة والمضمنة وأجهزة الحافة:

  • كفاءة وأداء عالي: NCNN تم تصميم النماذج لتكون فعالة وخفيفة الوزن ، ومحسنة للتشغيل على الأجهزة المحمولة والأجهزة المدمجة مثل Raspberry Pi بموارد محدودة. يمكنهم أيضا تحقيق أداء عال بدقة عالية في مختلف المهام القائمة على رؤية الكمبيوتر.

  • التكميم: NCNN غالبا ما تدعم النماذج التكميم وهي تقنية تقلل من دقة أوزان النموذج وتنشيطه. هذا يؤدي إلى مزيد من التحسينات في الأداء ويقلل من بصمة الذاكرة.

  • التوافق: NCNN تتوافق النماذج مع أطر التعلم العميق الشائعة مثل TensorFlow، و Caffe ، و ONNX. يسمح هذا التوافق للمطورين باستخدام النماذج الحالية وسير العمل بسهولة.

  • سهل الاستخدام: NCNN تم تصميم النماذج لسهولة الاندماج في التطبيقات المختلفة ، وذلك بفضل توافقها مع أطر التعلم العميق الشائعة. الاضافه الي ذلك NCNN يوفر أدوات سهلة الاستخدام لتحويل النماذج بين تنسيقات مختلفة ، مما يضمن قابلية التشغيل البيني السلس عبر مشهد التطوير.

خيارات النشر مع NCNN

Before we look at the code for exporting YOLOv8 models to the NCNN format, let's understand how NCNN models are normally used.

NCNN تتوافق الطرز المصممة لتحقيق الكفاءة والأداء مع مجموعة متنوعة من منصات النشر:

  • النشر عبر الأجهزة المحمولة: تم تحسينه خصيصا لنظامي التشغيل Android و iOS ، مما يسمح بالتكامل السلس في تطبيقات الأجهزة المحمولة للحصول على استدلال فعال على الجهاز.

  • الأنظمة المضمنة وأجهزة إنترنت الأشياء: إذا وجدت أن الاستدلال قيد التشغيل على Raspberry Pi باستخدام Ultralytics الدليل ليس سريعا بما فيه الكفاية ، والتبديل إلى ملف NCNN يمكن أن يساعد النموذج المصدر في تسريع الأمور. NCNN رائع لأجهزة مثل Raspberry Pi و NVIDIA Jetson ، خاصة في المواقف التي تحتاج فيها إلى معالجة سريعة مباشرة على الجهاز.

  • نشر سطح المكتب والخوادم: يمكن نشره في بيئات سطح المكتب والخوادم عبر Linux و Windows و macOS ، مما يدعم التطوير والتدريب والتقييم بقدرات حسابية أعلى.

تصدير إلى NCNNتحويل الخاص بك: YOLOv8 نموذج

يمكنك توسيع توافق النموذج ومرونة النشر عن طريق التحويل YOLOv8 نماذج ل NCNN تنسيق.

تركيب

لتثبيت الحزم المطلوبة ، قم بتشغيل:

تركيب

# Install the required package for YOLOv8
pip install ultralytics

للحصول على إرشادات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت ، تحقق من Ultralytics دليل التثبيت. أثناء تثبيت الحزم المطلوبة ل YOLOv8، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على حلول ونصائح.

استخدام

قبل الغوص في تعليمات الاستخدام ، من المهم ملاحظة أنه في حين أن جميع Ultralytics YOLOv8 النماذج متاحة للتصدير ، يمكنك التأكد من أن النموذج الذي تحدده يدعم وظائف التصدير هنا.

استخدام

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("./yolov8n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to NCNN format
yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'

# Run inference with the exported model
yolo predict model='./yolov8n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'

لمزيد من التفاصيل حول خيارات التصدير المدعومة، تفضل بزيارة Ultralytics صفحة الوثائق حول خيارات النشر.

نشر التصدير YOLOv8 NCNN نماذج

بعد تصدير الخاص بك بنجاح Ultralytics YOLOv8 نماذج ل NCNN ، يمكنك الآن نشرها. الخطوة الأولى الأساسية والموصى بها لتشغيل NCNN النموذج هو الاستفادة من YOLOطريقة ("./model_ncnn_model") ، كما هو موضح في مقتطف شفرة الاستخدام السابق. ومع ذلك ، للحصول على إرشادات متعمقة حول نشر NCNN النماذج في إعدادات أخرى مختلفة ، ألق نظرة على الموارد التالية:

  • Android: تشرح هذه المدونة كيفية الاستخدام NCNN نماذج لأداء مهام مثل اكتشاف الكائنات من خلال تطبيقات Android.

  • macOS: فهم كيفية الاستخدام NCNN نماذج لأداء المهام من خلال macOS.

  • Linux: استكشف هذه الصفحة لمعرفة كيفية النشر NCNN نماذج على أجهزة محدودة الموارد مثل Raspberry Pi وغيرها من الأجهزة المماثلة.

  • Windows x64 باستخدام VS2017: استكشف هذه المدونة لمعرفة كيفية النشر NCNN نماذج على ويندوز x64 باستخدام مجتمع Visual Studio 2017.

ملخص

في هذا الدليل ، تجاوزنا التصدير Ultralytics YOLOv8 نماذج إلى NCNN تنسيق. خطوة التحويل هذه ضرورية لتحسين كفاءة وسرعة YOLOv8 النماذج ، مما يجعلها أكثر فعالية وملاءمة لبيئات الحوسبة محدودة الموارد.

للحصول على تعليمات مفصلة حول الاستخدام ، يرجى الرجوع إلى رسمي NCNN الوثائق.

أيضا ، إذا كنت مهتما باستكشاف خيارات تكامل أخرى ل Ultralytics YOLOv8، تأكد من زيارة صفحة دليل التكامل للحصول على مزيد من الأفكار والمعلومات.



Created 2024-03-01, Updated 2024-06-10
Authors: glenn-jocher (5), abirami-vina (1)

التعليقات