YOLO-NAS
تحديث مهم
يرجى ملاحظة أن Deci، المبدعين الأصليين لـ YOLO-NAS، قد تم الاستحواذ عليهم بواسطة NVIDIA. ونتيجة لذلك، لم تعد هذه النماذج تحظى بالصيانة النشطة من قبل Deci. تواصل Ultralytics دعم استخدام هذه النماذج، ولكن لا يُتوقع المزيد من التحديثات من الفريق الأصلي.
نظرة عامة
تم تطوير YOLO-NAS بواسطة Deci AI، وهو نموذج أساسي لاكتشاف الكائنات. إنه نتاج تقنية البحث المتقدم عن البنية العصبية، المصممة بدقة لمعالجة القيود المفروضة على نماذج YOLO السابقة. مع وجود تحسينات كبيرة في دعم التكميم والمقايضات بين الدقة ووقت الاستجابة، يمثل YOLO-NAS قفزة كبيرة في اكتشاف الكائنات.
نظرة عامة على YOLO-NAS. يستخدم YOLO-NAS كتل حساسة للتكميم وتكميم انتقائي لتحقيق الأداء الأمثل. يختبر النموذج، عند تحويله إلى نسخته الكمية INT8، انخفاضًا طفيفًا في الدقة، وهو تحسن كبير مقارنة بالنماذج الأخرى. تتوج هذه التطورات في بنية فائقة بقدرات غير مسبوقة في الكشف عن الأجسام وأداء متميز.
الميزات الرئيسية
- Quantization-Friendly Basic Block: يقدم YOLO-NAS وحدة أساسية جديدة صديقة للتكميم، تعالج أحد القيود الهامة لنماذج YOLO السابقة.
- تدريب وقياس متطوران: تستفيد YOLO-NAS من مخططات التدريب المتقدمة وقياس ما بعد التدريب لتحسين الأداء.
- تحسين AutoNAC والتدريب المسبق: يستخدم YOLO-NAS تحسين AutoNAC ويتم تدريبه مسبقًا على مجموعات بيانات بارزة مثل COCO و Objects365 و Roboflow 100. هذا التدريب المسبق يجعله مناسبًا للغاية لمهام الكشف عن الكائنات النهائية في بيئات الإنتاج.
نماذج مدربة مسبقًا
اختبر قوة الجيل التالي من اكتشاف الكائنات باستخدام نماذج YOLO-NAS المدربة مسبقًا والمقدمة من Ultralytics. تم تصميم هذه النماذج لتقديم أداء متميز من حيث السرعة والدقة. اختر من بين مجموعة متنوعة من الخيارات المصممة خصيصًا لتلبية احتياجاتك الخاصة:
الأداء
| النموذج | mAP | زمن الوصول (بالمللي ثانية) |
|---|---|---|
| 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. توفر الحزمة واجهة برمجة تطبيقات (API) بايثون سهلة الاستخدام لتبسيط العملية.
توضح الأمثلة التالية كيفية استخدام نماذج YOLO-NAS مع ultralytics حزمة للاستدلال والتحقق:
أمثلة الاستدلال والتحقق
في هذا المثال، نتحقق من صحة YOLO-NAS-s على مجموعة بيانات COCO8.
مثال
يوفر هذا المثال رمز استدلال وتحقق بسيط لـ YOLO-NAS. للتعامل مع نتائج الاستدلال، راجع توقع الوضع. لاستخدام YOLO-NAS مع أوضاع إضافية، راجع التحقق و تصدير. YOLO-NAS على ultralytics الحزمة لا تدعم التدريب.
PyTorch مدربة مسبقًا *.pt يمكن تمرير ملفات النماذج إلى NAS() class لإنشاء مثيل نموذج في 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")
تتوفر أوامر CLI لتشغيل النماذج مباشرة:
# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml
# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=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 في تطبيق 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، مما يضمن أداءً عاليًا من حيث السرعة والدقة. يمكنك تنزيل هذه النماذج باستخدام الروابط المتوفرة في قسم النماذج المدربة مسبقًا . فيما يلي بعض الأمثلة: