Meet YOLO26: next-gen vision AI.

Link to this sectionتصدير Ultralytics YOLO إلى NCNN#

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

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

Link to this sectionلماذا التصدير إلى NCNN؟#

NCNN high-performance neural network inference framework

إطار عمل 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 عند تشغيل الاستدلال:

استدلال 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

تأكد من تثبيت برامج تشغيل 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وسائط التصدير#

الوسيطالنوعالافتراضيالوصف
formatstr'ncnn'التنسيق المستهدف للنموذج المصدر، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لمدخل النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو زوجاً مرتباً (height, width) لأبعاد محددة.
halfboolFalseيُمكّن تكميم FP16 (نصف الدقة)، مما يقلل من حجم النموذج ويسرع الاستنتاج على الأجهزة المدعومة.
batchint1يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict.
devicestrNoneيحدد الجهاز للتصدير: GPU (device=0)، CPU (device=cpu)، أو MPS لأجهزة Apple silicon (device=mps).

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

Link to this sectionنشر نماذج 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الأسئلة الشائعة#

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 على AMD و Intel وغيرها من وحدات GPU التي ليست من نوع 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:

  1. البناء لـ Android: اتبع دليل NCNN Build for Android.
  2. التكامل مع تطبيقك: استخدم NCNN Android SDK لدمج النموذج المصدر في تطبيقك من أجل استدلال فعال على الجهاز.

للحصول على تعليمات مفصلة، راجع نشر نماذج YOLO26 NCNN المصدرة.

للحصول على أدلة وحالات استخدام أكثر تقدمًا، قم بزيارة دليل نشر Ultralytics.

Link to this sectionكيف يمكنني استخدام تسريع GPU عبر Vulkan مع نماذج NCNN؟#

يدعم NCNN تقنية Vulkan لتسريع 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 لديك. راجع قسم تسريع GPU عبر Vulkan لمزيد من التفاصيل.

التعليقات