YOLO-NAS#
يرجى ملاحظة أن Deci، المطوّرين الأصليين لـ YOLO-NAS، قد استحوذت عليهم NVIDIA. ونتيجةً لذلك، لم تعد Deci تدعم هذه النماذج بنشاط. تواصل Ultralytics دعم استخدام هذه النماذج، ولكن لا يُتوقع صدور أي تحديثات أخرى من الفريق الأصلي.
نظرة عامة#
طوّرت Deci AI نموذج YOLO-NAS، وهو نموذج أساسي رائد لاكتشاف الأجسام. وهو نتاج تقنية البحث في البنية العصبية المتقدمة، وقد صُمّم بعناية لمعالجة قيود نماذج 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 | زمن الاستجابة (مللي ثانية) |
|---|---|---|
| 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 الخاصة بك عبر حزمة Python الخاصة بنا ultralytics. توفر الحزمة واجهة برمجة تطبيقات Python سهلة الاستخدام تبسط العملية.
توضح الأمثلة التالية كيفية استخدام نماذج YOLO-NAS مع حزمة ultralytics للاستدلال والتحقق:
أمثلة الاستدلال والتحقق#
في هذا المثال، نتحقق من YOLO-NAS-s باستخدام مجموعة بيانات COCO8.
يوفر هذا المثال تعليمات برمجية بسيطة للاستدلال والتحقق باستخدام YOLO-NAS. لمعالجة نتائج الاستدلال، راجع وضع Predict. ولاستخدام YOLO-NAS مع أوضاع إضافية، راجع Val وExport. لا تدعم YOLO-NAS في حزمة ultralytics التدريب.
يمكن تمرير ملفات نماذج *.pt المدربة مسبقًا من PyTorch إلى فئة NAS() لإنشاء مثيل نموذج في 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، الذي طوّرته Deci AI، هو نموذج متطور للغاية لكشف الأجسام يستفيد من تقنية البحث عن البنية المعمارية للشبكات العصبية (NAS) المتقدمة. ويعالج قيود نماذج YOLO السابقة من خلال تقديم ميزات مثل الكتل الأساسية الملائمة للتكميم ومخططات التدريب المتطورة. وينتج عن ذلك تحسينات كبيرة في الأداء، لا سيما في البيئات ذات الموارد الحاسوبية المحدودة. كما يدعم YOLO-NAS التكميم، مع الحفاظ على دقة عالية حتى عند تحويله إلى إصدار INT8، مما يعزز ملاءمته لبيئات الإنتاج. لمزيد من التفاصيل، راجع قسم نظرة عامة.
يمكنك دمج نماذج 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 عدة ميزات أساسية تجعله خيارًا متفوقًا لمهام اكتشاف الأجسام:
- الكتلة الأساسية الملائمة للتكميم: بنية محسّنة تحسّن أداء النموذج مع انخفاض ضئيل في الدقة بعد التكميم.
- التدريب والتكميم المتقدمان: يستخدم مخططات تدريب متقدمة وتقنيات تكميم ما بعد التدريب.
- تحسين AutoNAC والتدريب المسبق: يستخدم تحسين AutoNAC، وقد دُرّب مسبقًا على مجموعات بيانات بارزة مثل COCO وObjects365 وRoboflow 100.
تسهم هذه الميزات في دقته العالية وأدائه الفعال وملاءمته للنشر في بيئات الإنتاج. تعرّف على المزيد في قسم الميزات الأساسية.
تدعم نماذج YOLO-NAS مهام وأوضاعًا مختلفة لاكتشاف الأجسام، مثل الاستدلال والتحقق والتصدير. ولا تدعم التدريب. وتشمل النماذج المدعومة YOLO-NAS-s وYOLO-NAS-m وYOLO-NAS-l، وقد صُمم كل منها لقدرات حاسوبية واحتياجات أداء مختلفة. للحصول على نظرة عامة مفصلة، راجع قسم المهام والأوضاع المدعومة.
نعم، توفر Ultralytics نماذج YOLO-NAS مدرّبة مسبقًا يمكنك الوصول إليها مباشرةً. وقد دُرّبت هذه النماذج مسبقًا على مجموعات بيانات مثل COCO، مما يضمن أداءً عاليًا من حيث السرعة والدقة معًا. يمكنك تنزيل هذه النماذج باستخدام الروابط المتوفرة في قسم النماذج المدرّبة مسبقًا. فيما يلي بعض الأمثلة: