Link to this sectionYOLO-NAS#
يرجى ملاحظة أن شركة Deci، المبتكرة الأصلية لنموذج YOLO-NAS، قد استحوذت عليها شركة NVIDIA. ونتيجة لذلك، لم تعد هذه النماذج تخضع للصيانة النشطة من قبل Deci. تواصل Ultralytics دعم استخدام هذه النماذج، ولكن لا يُتوقع إجراء المزيد من التحديثات من الفريق الأصلي.
Link to this sectionنظرة عامة#
يعد YOLO-NAS، الذي طورته شركة Deci AI، نموذجاً أساسياً رائداً لاكتشاف الأشياء. وهو نتاج تقنية Neural Architecture Search المتقدمة، وقد تم تصميمه بدقة لمعالجة قيود نماذج YOLO السابقة. بفضل التحسينات الكبيرة في دعم التكميم (quantization) والمفاضلة بين الدقة وزمن الوصول، يمثل YOLO-NAS قفزة نوعية في مجال اكتشاف الأشياء.
نظرة عامة على YOLO-NAS. يستخدم YOLO-NAS كتلًا تدعم التكميم (quantization-aware blocks) وتكميماً انتقائياً لتحقيق أداء مثالي. عند تحويل النموذج إلى نسخته المكممة INT8، فإنه يعاني من انخفاض طفيف جداً في الدقة، وهو تحسن كبير مقارنة بالنماذج الأخرى. تتوج هذه التطورات بهيكلية متفوقة ذات قدرات غير مسبوقة في اكتشاف الأشياء وأداء متميز.
Link to this sectionالميزات الرئيسية#
- كتلة أساسية تدعم التكميم: يقدم YOLO-NAS كتلة أساسية جديدة تدعم التكميم، مما يعالج أحد القيود الكبيرة في نماذج YOLO السابقة.
- تدريب وتكميم متطور: يستفيد YOLO-NAS من مخططات تدريب متقدمة وتكميم ما بعد التدريب لتعزيز الأداء.
- تحسين AutoNAC والتدريب المسبق: يستخدم YOLO-NAS تحسين AutoNAC وهو مدرب مسبقاً على مجموعات بيانات بارزة مثل COCO وObjects365 وRoboflow 100. هذا التدريب المسبق يجعله مناسباً للغاية لمهام اكتشاف الأشياء اللاحقة في بيئات الإنتاج.
Link to this sectionالنماذج المدربة مسبقاً#
جرب قوة الجيل القادم من اكتشاف الأشياء مع نماذج 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) وزمن الوصول، مما يساعدك على تحسين مهام اكتشاف الأشياء لديك من حيث الأداء والسرعة.
Link to this sectionأمثلة الاستخدام#
لقد جعلت Ultralytics نماذج YOLO-NAS سهلة الدمج في تطبيقات Python الخاصة بك عبر حزمة ultralytics لـ Python. توفر الحزمة واجهة برمجة تطبيقات (API) سهلة الاستخدام لتبسيط العملية.
توضح الأمثلة التالية كيفية استخدام نماذج YOLO-NAS مع حزمة ultralytics للاستدلال والتحقق من الصحة:
Link to this sectionأمثلة على الاستدلال والتحقق#
في هذا المثال، نقوم بالتحقق من 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")Link to this sectionالمهام والأوضاع المدعومة#
نقدم ثلاثة متغيرات من نماذج 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 | اكتشاف الكائنات | ✅ | ✅ | ❌ | ✅ |
Link to this sectionالاقتباسات والشكر#
إذا كنت تستخدم 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، بفضل بنيته المبتكرة وقدراته المتفوقة في اكتشاف الأشياء، سيصبح أداة حاسمة للمطورين والباحثين على حد سواء.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هو YOLO-NAS وكيف يتحسن مقارنة بنماذج YOLO السابقة؟#
YOLO-NAS، الذي طورته شركة Deci AI، هو نموذج متطور لاكتشاف الأشياء يستفيد من تقنية Neural Architecture Search (NAS) المتقدمة. يعالج هذا النموذج قيود نماذج YOLO السابقة من خلال تقديم ميزات مثل الكتل الأساسية الداعمة للتكميم ومخططات التدريب المتطورة. يؤدي هذا إلى تحسينات كبيرة في الأداء، خاصة في البيئات ذات الموارد الحسابية المحدودة. يدعم YOLO-NAS أيضاً التكميم، مما يحافظ على دقة عالية حتى عند تحويله إلى نسخته INT8، مما يعزز ملاءمته لبيئات الإنتاج. لمزيد من التفاصيل، راجع قسم نظرة عامة.
Link to this sectionكيف يمكنني دمج نماذج 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")لمزيد من المعلومات، راجع أمثلة الاستدلال والتحقق.
Link to this sectionما هي الميزات الرئيسية لـ YOLO-NAS ولماذا يجب أن أفكر في استخدامه؟#
يقدم YOLO-NAS العديد من الميزات الرئيسية التي تجعله خياراً متفوقاً لمهام اكتشاف الأشياء:
- كتلة أساسية تدعم التكميم: بنية محسنة تعزز أداء النموذج مع حد أدنى من انخفاض الدقة بعد التكميم.
- تدريب وتكميم متطور: يستخدم مخططات تدريب متقدمة وتقنيات تكميم ما بعد التدريب.
- تحسين AutoNAC والتدريب المسبق: يستخدم تحسين AutoNAC وهو مدرب مسبقاً على مجموعات بيانات بارزة مثل COCO وObjects365 وRoboflow 100.
تساهم هذه الميزات في دقته العالية وأدائه الفعال وملاءمته للنشر في بيئات الإنتاج. تعرف على المزيد في قسم الميزات الرئيسية.
Link to this sectionما هي المهام والأوضاع التي تدعمها نماذج YOLO-NAS؟#
تدعم نماذج YOLO-NAS مهام وأوضاع اكتشاف الأشياء المختلفة مثل الاستدلال والتحقق والتصدير. وهي لا تدعم التدريب. تشمل النماذج المدعومة YOLO-NAS-s وYOLO-NAS-m وYOLO-NAS-l، وكل منها مصمم ليناسب قدرات حسابية واحتياجات أداء مختلفة. للحصول على نظرة عامة مفصلة، راجع قسم المهام والأوضاع المدعومة.
Link to this sectionهل تتوفر نماذج YOLO-NAS مدربة مسبقاً وكيف يمكنني الوصول إليها؟#
نعم، توفر Ultralytics نماذج YOLO-NAS مدربة مسبقاً يمكنك الوصول إليها مباشرة. هذه النماذج مدربة مسبقاً على مجموعات بيانات مثل COCO، مما يضمن أداءً عالياً من حيث السرعة والدقة. يمكنك تنزيل هذه النماذج باستخدام الروابط المتوفرة في قسم النماذج المدربة مسبقاً. إليك بعض الأمثلة: