YOLO-NAS
يرجى ملاحظة أن شركة Deci، المبتكرة الأصلية لنموذج YOLO-NAS، قد استحوذت عليها شركة NVIDIA. ونتيجة لذلك، لم تعد هذه النماذج تخضع للصيانة النشطة من قبل Deci. تواصل Ultralytics دعم استخدام هذه النماذج، ولكن لا يُتوقع إجراء المزيد من التحديثات من الفريق الأصلي.
نظرة عامة
يعد YOLO-NAS، الذي طورته شركة Deci AI، نموذجاً أساسياً رائداً في مجال اكتشاف الكائنات. وهو نتاج تقنية البحث في البنية العصبية المتطورة، وقد صُمم بدقة لمعالجة أوجه القصور في نماذج YOLO السابقة. بفضل التحسينات الكبيرة في دعم التكميم والمقايضات بين الدقة وزمن الاستجابة، يمثل YOLO-NAS قفزة نوعية في اكتشاف الكائنات.
نظرة عامة على YOLO-NAS. يستخدم YOLO-NAS كتلًا واعية بالتكميم وتكميمًا انتقائيًا لتحقيق الأداء الأمثل. عند تحويل النموذج إلى نسخته المكممة INT8، فإنه يواجه انخفاضاً طفيفاً في الدقة، وهو تحسن كبير مقارنة بالنماذج الأخرى. تتوج هذه التطورات في بنية متفوقة ذات قدرات غير مسبوقة في اكتشاف الكائنات وأداء متميز.
الميزات الرئيسية
- كتلة أساسية صديقة للتكميم: يقدم YOLO-NAS كتلة أساسية جديدة صديقة لعمليات التكميم، مما يعالج أحد القيود المهمة في نماذج YOLO السابقة.
- تدريب وتكميم متطور: يستفيد YOLO-NAS من مخططات تدريب متقدمة وتكميم ما بعد التدريب لتعزيز الأداء.
- تحسين AutoNAC والتدريب المسبق: يستخدم YOLO-NAS تقنية تحسين AutoNAC وقد تم تدريبه مسبقاً على مجموعات بيانات بارزة مثل COCO وObjects365 وRoboflow 100. هذا التدريب المسبق يجعله مناسباً للغاية لمهام اكتشاف الكائنات اللاحقة في بيئات الإنتاج.
النماذج المدربة مسبقاً
جرب قوة الجيل القادم من اكتشاف الكائنات مع نماذج YOLO-NAS المدربة مسبقاً التي توفرها Ultralytics. صُممت هذه النماذج لتقديم أداء من الدرجة الأولى من حيث السرعة والدقة. اختر من بين مجموعة متنوعة من الخيارات المصممة لتلبية احتياجاتك المحددة:
| النموذج | mAP | زمن الوصول (ms) |
|---|---|---|
| YOLO-NAS S | 47.5 | 3.21 |
| YOLO-NAS M | 51.55 | 5.85 |
| YOLO-NAS L | 52.22 | 7.87 |
| YOLO-NAS S INT-8 | 47.03 | 2.36 |
| YOLO-NAS M INT-8 | 51.0 | 3.78 |
| YOLO-NAS L INT-8 | 52.1 | 4.78 |
صُمم كل متغير من النماذج لتقديم توازن بين متوسط دقة التنبؤ (mAP) وزمن الاستجابة، مما يساعدك على تحسين مهام اكتشاف الكائنات الخاصة بك من حيث الأداء والسرعة.
أمثلة الاستخدام
لقد جعلت Ultralytics نماذج YOLO-NAS سهلة الدمج في تطبيقات Python الخاصة بك عبر حزمة ultralytics البرمجية. توفر الحزمة واجهة برمجة تطبيقات Python سهلة الاستخدام لتبسيط العملية.
توضح الأمثلة التالية كيفية استخدام نماذج YOLO-NAS مع حزمة ultralytics للاستنتاج والتحقق:
أمثلة الاستنتاج والتحقق
في هذا المثال، نقوم بالتحقق من صحة YOLO-NAS-s على مجموعة بيانات COCO8.
يوفر هذا المثال رمزاً بسيطاً للاستنتاج والتحقق لنموذج YOLO-NAS. للتعامل مع نتائج الاستنتاج، راجع وضع Predict. لاستخدام YOLO-NAS مع أوضاع إضافية، راجع Val وExport. لا يدعم YOLO-NAS في حزمة ultralytics التدريب.
PyTorch pretrained *.pt models files can be passed to the NAS() class to create a model instance in python:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Display model information (optional)
model.info()
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")المهام والأنماط المدعومة
نقدم ثلاثة متغيرات من نماذج YOLO-NAS: صغير (s)، ومتوسط (m)، وكبير (l). صُمم كل متغير لتلبية احتياجات حسابية وأدائية مختلفة:
- YOLO-NAS-s: مُحسّن للبيئات التي تكون فيها الموارد الحسابية محدودة ولكن الكفاءة هي الأساس.
- YOLO-NAS-m: يقدم نهجاً متوازناً، مناسباً لـ اكتشاف الكائنات للأغراض العامة بدقة أعلى.
- YOLO-NAS-l: مصمم للسيناريوهات التي تتطلب أعلى دقة، حيث لا تشكل الموارد الحسابية عائقاً كبيراً.
فيما يلي نظرة عامة مفصلة على كل نموذج، بما في ذلك روابط أوزانها المدربة مسبقاً، والمهام التي تدعمها، وتوافقها مع أوضاع التشغيل المختلفة.
| نوع النموذج | الأوزان المدربة مسبقاً | المهام المدعومة | الاستدلال | التحقق | التدريب | تصدير |
|---|---|---|---|---|---|---|
| YOLO-NAS-s | yolo_nas_s.pt | اكتشاف الكائنات | ✅ | ✅ | ❌ | ✅ |
| YOLO-NAS-m | yolo_nas_m.pt | اكتشاف الكائنات | ✅ | ✅ | ❌ | ✅ |
| YOLO-NAS-l | yolo_nas_l.pt | اكتشاف الكائنات | ✅ | ✅ | ❌ | ✅ |
الاقتباسات والشكر
إذا كنت تستخدم YOLO-NAS في عملك البحثي أو التطويري، يرجى الاستشهاد بـ SuperGradients:
@misc{supergradients,
doi = {10.5281/ZENODO.7789328},
url = {https://zenodo.org/records/7789328},
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}},
title = {Super-Gradients},
publisher = {GitHub},
journal = {GitHub repository},
year = {2021},
}نُعرب عن امتناننا لفريق SuperGradients التابع لشركة Deci AI على جهودهم في إنشاء وصيانة هذا المورد القيم لمجتمع الرؤية الحاسوبية. نحن نؤمن بأن YOLO-NAS، ببنيته المبتكرة وقدراته الفائقة في اكتشاف الكائنات، سيصبح أداة حاسمة للمطورين والباحثين على حد سواء.
الأسئلة الشائعة
ما هو YOLO-NAS وكيف يتحسن مقارنة بنماذج YOLO السابقة؟
YOLO-NAS، الذي طورته شركة Deci AI، هو نموذج متطور لاكتشاف الكائنات يستفيد من تقنية البحث في البنية العصبية (NAS) المتقدمة. وهو يعالج قيود نماذج YOLO السابقة من خلال إدخال ميزات مثل الكتل الأساسية الصديقة للتكميم ومخططات التدريب المتطورة. وينتج عن ذلك تحسينات كبيرة في الأداء، خاصة في البيئات ذات الموارد الحسابية المحدودة. كما يدعم YOLO-NAS التكميم، مما يحافظ على دقة عالية حتى عند تحويله إلى نسخته INT8، مما يعزز ملاءمته لبيئات الإنتاج. لمزيد من التفاصيل، راجع قسم نظرة عامة.
كيف يمكنني دمج نماذج YOLO-NAS في تطبيق Python الخاص بي؟
يمكنك بسهولة دمج نماذج YOLO-NAS في تطبيق Python الخاص بك باستخدام حزمة ultralytics. إليك مثال بسيط لكيفية تحميل نموذج YOLO-NAS مدرب مسبقاً وإجراء الاستنتاج:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")لمزيد من المعلومات، راجع أمثلة الاستنتاج والتحقق.
ما هي الميزات الرئيسية لـ YOLO-NAS ولماذا يجب أن أفكر في استخدامه؟
يقدم YOLO-NAS العديد من الميزات الرئيسية التي تجعله خياراً متفوقاً لمهام اكتشاف الكائنات:
- كتلة أساسية صديقة للتكميم: بنية محسنة تعمل على تحسين أداء النموذج مع الحد الأدنى من انخفاض الدقة بعد التكميم.
- تدريب وتكميم متطور: يستخدم مخططات تدريب متقدمة وتقنيات تكميم ما بعد التدريب.
- تحسين AutoNAC والتدريب المسبق: يستخدم تحسين AutoNAC وقد تم تدريبه مسبقاً على مجموعات بيانات بارزة مثل COCO وObjects365 وRoboflow 100.
تساهم هذه الميزات في دقته العالية وأدائه الفعال وملاءمته للنشر في بيئات الإنتاج. تعرف على المزيد في قسم الميزات الرئيسية.
ما هي المهام والأوضاع التي تدعمها نماذج YOLO-NAS؟
تدعم نماذج YOLO-NAS مهام وأوضاع اكتشاف كائنات متنوعة مثل الاستنتاج والتحقق والتصدير. وهي لا تدعم التدريب. تشمل النماذج المدعومة YOLO-NAS-s وYOLO-NAS-m وYOLO-NAS-l، وكل منها مصمم ليناسب قدرات حسابية واحتياجات أداء مختلفة. للحصول على نظرة عامة مفصلة، راجع قسم المهام والأوضاع المدعومة.
هل تتوفر نماذج YOLO-NAS مدربة مسبقاً وكيف يمكنني الوصول إليها؟
نعم، توفر Ultralytics نماذج YOLO-NAS مدربة مسبقاً يمكنك الوصول إليها مباشرة. تم تدريب هذه النماذج مسبقاً على مجموعات بيانات مثل COCO، مما يضمن أداءً عالياً من حيث السرعة والدقة. يمكنك تنزيل هذه النماذج باستخدام الروابط المقدمة في قسم النماذج المدربة مسبقاً. إليك بعض الأمثلة: