Home
Login

ncnn هو إطار عمل استنتاج شبكة عصبية عالي الأداء مُحسَّن لمنصات الأجهزة المحمولة.

NOASSERTIONC++ 21.7kTencentncnn Last Updated: 2025-06-27

ncnn - إطار عمل استنتاج الشبكات العصبية مفتوح المصدر من Tencent للأجهزة المحمولة

نظرة عامة على المشروع

ncnn هو إطار عمل عالي الأداء لحسابات الشبكات العصبية الأمامية، مُحسَّن خصيصًا للأجهزة المحمولة. تم تصميم ncnn مع مراعاة النشر والاستخدام على الأجهزة المحمولة بعمق. لا توجد تبعيات خارجية، وهو متعدد المنصات، وسرعته على وحدة المعالجة المركزية (CPU) للأجهزة المحمولة أسرع من جميع الأطر مفتوحة المصدر المعروفة حاليًا.

عنوان المشروع: https://github.com/Tencent/ncnn

فريق التطوير: مشروع مفتوح المصدر من شركة Tencent

الميزات الأساسية

1. تحسين فائق للأجهزة المحمولة

  • صُمم خصيصًا للأجهزة المحمولة: تم تحسينه خصيصًا للأجهزة المحمولة منذ البداية
  • لا توجد تبعيات خارجية: لا يعتمد على أي أطر عمل حسابية أخرى مثل BLAS أو NNPACK
  • تنفيذ بلغة C++ خالصة: يضمن التوافق عبر الأنظمة الأساسية والأداء العالي

2. أداء متميز

  • تحسين على مستوى تجميع ARM NEON: يعتمد على تحسين دقيق على مستوى التجميع، مما يجعله سريعًا للغاية في الحساب
  • إدارة دقيقة للذاكرة: يستهلك ذاكرة منخفضة للغاية، مما يجعله مناسبًا للأجهزة المحمولة ذات الموارد المحدودة
  • حساب متوازي متعدد النواة: يدعم تحسين جدولة ARM big.LITTLE CPU

3. دعم واسع النطاق للمنصات

  • متعدد المنصات: يدعم العديد من الأنظمة الأساسية مثل Android و iOS و Linux و Windows و macOS
  • دعم متعدد للهندسة المعمارية: يدعم هندسات CPU مختلفة مثل ARM و x86
  • تسريع GPU: يدعم تسريع GPU استنادًا إلى Vulkan API

4. دعم غني للنماذج

  • استيراد نماذج متعددة الأطر: يمكنه استيراد نماذج من الأطر الرئيسية مثل Caffe و PyTorch و MXNet و ONNX و Darknet و Keras و TensorFlow
  • دعم التكميم: يدعم التكميم 8 بت وتخزين الفاصلة العائمة بنصف الدقة
  • تحميل مباشر للذاكرة: يدعم تحميل نموذج الشبكة مع الإشارة إلى الذاكرة بدون نسخ

البنية التقنية

أنواع الشبكات المدعومة

  • شبكات CNN الكلاسيكية: VGG و AlexNet و GoogleNet و Inception وما إلى ذلك
  • شبكات CNN العملية: ResNet و DenseNet و SENet و FPN وما إلى ذلك
  • شبكات CNN خفيفة الوزن: SqueezeNet وسلسلة MobileNet وسلسلة ShuffleNet و MNasNet وما إلى ذلك
  • الكشف عن الوجه: MTCNN و RetinaFace و SCRFD وما إلى ذلك
  • الكشف عن الكائنات: سلسلة YOLO وسلسلة SSD و Faster-RCNN وما إلى ذلك
  • تجزئة الصور: FCN و PSPNet و UNet و YOLACT وما إلى ذلك
  • تقدير الوضعية: SimplePose وما إلى ذلك

مصفوفة توافق النظام الأساسي

النظام الأساسي/الأجهزة Windows Linux Android macOS iOS
Intel CPU ✔️ ✔️ ✔️ /
Intel GPU ✔️ ✔️ /
AMD CPU ✔️ ✔️ ✔️ /
AMD GPU ✔️ ✔️ /
NVIDIA GPU ✔️ ✔️ /
Qualcomm ✔️ / /
ARM CPU / /
Apple CPU / / / ✔️

✅ = معروف أنه يعمل وأداء ممتاز؛ ✔️ = معروف أنه يعمل؛ ❔ = ممكن نظريًا ولكن لم يتم تأكيده؛ / = غير قابل للتطبيق

التطبيقات العملية

يتم استخدام ncnn حاليًا في العديد من تطبيقات Tencent الأساسية، بما في ذلك:

  • QQ
  • QZone (مساحة QQ)
  • WeChat
  • 天天P图
  • تطبيقات Tencent الأخرى

النظام البيئي للتطوير

مشاريع نموذجية

  • أمثلة لتطبيقات Android:
    • تصنيف الصور SqueezeNet
    • تطبيق نقل الأنماط
    • الكشف عن الكائنات MobileNet-SSD
    • الكشف عن الوجه MTCNN
    • الكشف عن الكائنات YOLOv5/YOLOv7
    • الكشف عن الوجه SCRFD

دعم الأدوات

  • تصور النموذج: يدعم استخدام Netron لتصور النموذج
  • طبقات مخصصة: يدعم تسجيل وتنفيذ طبقات مخصصة
  • أدوات التكميم: يوفر أدوات لتكميم النموذج

دعم المجتمع

  • مجموعات QQ للتبادل التقني: 637093648 و 677104663 و 818998520
  • مجموعة Telegram و قناة Discord
  • وثائق مفصلة: وثائق wiki كاملة ومرجع API

ابدأ الاستخدام

دعم البناء

يدعم ncnn البناء على الأنظمة الأساسية التالية:

  • Linux / Windows / macOS
  • Raspberry Pi 3/4
  • Android
  • iOS
  • WebAssembly
  • NVIDIA Jetson
  • 全志D1
  • 龙芯2K1000

بداية سريعة

يوصى بالبدء ببرنامج استخدام ncnn لتشغيل AlexNet، والذي يوفر إرشادات تفصيلية خطوة بخطوة، وهو مناسب بشكل خاص للمبتدئين.

مزايا المشروع

  1. أداء متميز: سرعة التشغيل على وحدة المعالجة المركزية (CPU) للأجهزة المحمولة تتجاوز جميع الأطر مفتوحة المصدر المعروفة
  2. صديق للموارد: يستهلك ذاكرة منخفضة للغاية، مما يجعله مناسبًا للبيئات ذات الموارد المحدودة
  3. سهولة التكامل: لا توجد تبعيات خارجية، والتكامل بسيط
  4. تم التحقق من صحته في الإنتاج: تم التحقق من صحته في العديد من تطبيقات Tencent التي تضم مئات الملايين من المستخدمين
  5. صيانة مستمرة: مجتمع مفتوح المصدر نشط وتحديثات مستمرة للإصدارات
  6. توافق واسع: يدعم استيراد النماذج من أطر التعلم العميق الرئيسية

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

Star History Chart