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 | زمن الاستجابة (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 باستخدام حزمة Python ultralytics. وتوفر الحزمة API سهلة الاستخدام بلغة Python لتبسيط العملية.
توضح الأمثلة التالية كيفية استخدام نماذج YOLO-NAS مع حزمة ultralytics للاستدلال والتحقق من الصحة:
أمثلة على الاستدلال والتحقق من الصحة#
في هذا المثال، نتحقق من صحة YOLO-NAS-s على مجموعة بيانات COCO8.
يوفر هذا المثال شيفرة بسيطة للاستدلال والتحقق من صحة YOLO-NAS. للتعامل مع نتائج الاستدلال، راجع وضع التنبؤ. ولاستخدام YOLO-NAS مع أوضاع إضافية، راجع التحقق والتصدير. لا تدعم حزمة ultralytics تدريب YOLO-NAS.
يمكن تمرير ملفات نماذج *.pt المدربة مسبقًا باستخدام PyTorch إلى الصنف NAS() لإنشاء مثيل للنموذج في Python:
from ultralytics import NAS
# تحميل نموذج YOLO-NAS-s المدرّب مسبقًا على COCO
model = NAS("yolo_nas_s.pt")
# عرض معلومات النموذج (اختياري)
model.info()
# التحقق من صحة النموذج على مجموعة بيانات COCO8 التجريبية
results = model.val(data="coco8.yaml")
# إجراء الاستدلال باستخدام نموذج YOLO-NAS-s على الصورة 'bus.jpg'
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، ببنيته المبتكرة وقدراته المتفوقة على اكتشاف الكائنات، سيصبح أداة أساسية للمطورين والباحثين على حد سواء.
الأسئلة الشائعة#
طوّرت Deci AI نموذج YOLO-NAS، وهو نموذج متطور لاكتشاف الكائنات يستفيد من تقنية متقدمة لـالبحث عن البنى العصبية (NAS). ويعالج قيود نماذج YOLO السابقة من خلال تقديم ميزات مثل الكتل الأساسية الملائمة للتكميم وأساليب التدريب المتقدمة. ويؤدي ذلك إلى تحسينات كبيرة في الأداء، ولا سيما في البيئات محدودة الموارد الحاسوبية. ويدعم YOLO-NAS أيضًا التكميم، مع الحفاظ على دقة عالية حتى عند تحويله إلى إصدار INT8، مما يعزز ملاءمته لبيئات الإنتاج. لمزيد من التفاصيل، راجع قسم لمحة عامة.
يمكنك بسهولة دمج نماذج YOLO-NAS في تطبيق Python باستخدام الحزمة
ultralytics. إليك مثالًا بسيطًا على تحميل نموذج YOLO-NAS مدرّب مسبقًا وإجراء الاستدلال:from ultralytics import NAS # تحميل نموذج YOLO-NAS-s المدرّب مسبقًا على COCO model = NAS("yolo_nas_s.pt") # التحقق من صحة النموذج على مجموعة بيانات COCO8 التجريبية results = model.val(data="coco8.yaml") # إجراء الاستدلال باستخدام نموذج YOLO-NAS-s على الصورة 'bus.jpg' 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، ما يضمن أداءً عاليًا من حيث السرعة والدقة. يمكنك تنزيل هذه النماذج باستخدام الروابط الواردة في قسم النماذج المدرّبة مسبقًا. إليك بعض الأمثلة: