وصفة تدريب YOLO26
مقدمة
يوثق هذا الدليل بالضبط تدريب الوصفة المستخدمة في إعداد النسخة الرسمية YOLO26 نقاط تفتيش مُدرَّبة مسبقًا على COCO. كل المعلمة الفائقة ما يظهر هنا مدمج بالفعل في الإصدار .pt القيم ويمكن فحصها برمجياً.
إن فهم كيفية تدريب النماذج الأساسية يساعدك على اتخاذ قرارات أفضل عند إجراء الضبط الدقيق: أي عمليات توسيع البيانات يجب الاحتفاظ بها، وأي أوزان لدالة الخسارة يجب تعديلها، وما هي إعدادات المُحسِّن التي تناسب حجم مجموعة البيانات لديك بشكل أفضل.
لمن هذا الدليل؟
هذا الدليل موجه للممارسين الذين يرغبون في فهم العناصر التي شكلت نقاط التفتيش الرسمية في YOLO26 — ليس فقط البنية، بل أيضًا جداول معدلات التعلم ، ومسارات التوسيع، وأوزان الخسارة التي أثرت على أدائها. استخدم هذه المعلومات لاتخاذ قرارات مستنيرة عند إجراء الضبط الدقيق على بياناتك الخاصة.
فحص معلمات التدريب
يحتفظ كل Ultralytics بإعدادات التدريب الكاملة التي استُخدمت لإنشائها. يمكنك الاطلاع على هذه الإعدادات في أي وقت:
فحص معلمات تدريب نقاط التفتيش
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])
import torch
# Load any official checkpoint
ckpt = torch.load("yolo26n.pt", map_location="cpu", weights_only=False)
# Print all training arguments
for k, v in sorted(ckpt["train_args"].items()):
print(f"{k}: {v}")
هذا ينطبق على أي .pt نقطة التحقق — سواء كانت الإصدارات الرسمية أو نماذجك المُحسَّنة. للاطلاع على القائمة الكاملة لمعلمات التدريب القابلة للتكوين، انظر مرجع إعدادات التدريب.
نظرة عامة على التدريب
تم تدريب جميع النماذج الأساسية لـ YOLO26 على COCO 640×640 باستخدام مُحسِّن MuSGD مع حجم دفعة يبلغ 128. تم تهيئة النماذج انطلاقًا من أوزان تدريب مسبق متوسطة، ثم صقلها باستخدام المعلمات الفائقة التي تم تحديدها عبر البحث التطوري. تتوفر سجلات التدريب الكاملة والمقاييس الخاصة بكل حجم من أحجام النماذج على Ultralytics :
الخيارات التصميمية الرئيسية في جميع الأحجام:
- تدريب شامل (
end2end=True) مع رأس فردي NMS - محسّن MuSGD الذي يجمع SGD والتحديثات المتعامدة على غرار Muon لأوزان الشبكات العصبية التلافيفية
- تكبير الفسيفساء بكثافة (احتمال ~0.9-1.0) تم تعطيله خلال آخر 10 دورات (
close_mosaic=10) - تكبير مقياس كبير (0.56-0.95) لمعالجة كائنات بأحجام مختلفة
- أدنى حد من الدوران/القص بالنسبة لمعظم الأحجام، مما يحافظ على انخفاض التشوه الهندسي
المعلمات الفائقة حسب حجم النموذج
المُحسِّن ومعدل التعلم
| إعداد | ن | S | م | L | X |
|---|---|---|---|---|---|
optimizer | MuSGD | MuSGD | MuSGD | MuSGD | MuSGD |
lr0 | 0.0054 | 0.00038 | 0.00038 | 0.00038 | 0.00038 |
lrf | 0.0495 | 0.882 | 0.882 | 0.882 | 0.882 |
momentum | 0.947 | 0.948 | 0.948 | 0.948 | 0.948 |
weight_decay | 0.00064 | 0.00027 | 0.00027 | 0.00027 | 0.00027 |
warmup_epochs | 0.98 | 0.99 | 0.99 | 0.99 | 0.99 |
epochs | 245 | 70 | 80 | 60 | 40 |
batch | 128 | 128 | 128 | 128 | 128 |
imgsz | 640 | 640 | 640 | 640 | 640 |
استراتيجية معدل التعلم
استخدم نموذج N معدل تعلم أولي أعلى مع انخفاض حاد (lrf=0.0495)، في حين استخدمت طرز S/M/L/X معدل انخفاض أولي أقل بكثير مع جدول زمني أكثر تدرجًا (lrf=0.882). وهذا يعكس الاختلاف في ديناميات التقارب بين النماذج الأصغر والنماذج الأكبر — فالنماذج الأصغر تحتاج إلى تحديثات أكثر جرأة لتتمكن من التعلم بفعالية.
أوزان الخسارة
| إعداد | ن | S | م | L | X |
|---|---|---|---|---|---|
box | 5.63 | 9.83 | 9.83 | 9.83 | 9.83 |
cls | 0.56 | 0.65 | 0.65 | 0.65 | 0.65 |
dfl | 9.04 | 0.96 | 0.96 | 0.96 | 0.96 |
يعطي النموذج N الأولوية لخسارة DFL، بينما تركز النماذج S/M/L/X على انحدار الصندوق المحيط. وتبقى خسارة التصنيف ثابتة نسبيًا عبر جميع الأحجام.
مسار التوسيع
للاطلاع على شرح مفصل لكل تقنية، راجع دليل تعزيزYOLO .
| إعداد | ن | S | م | L | X |
|---|---|---|---|---|---|
mosaic | 0.909 | 0.992 | 0.992 | 0.992 | 0.992 |
mixup | 0.012 | 0.05 | 0.427 | 0.427 | 0.427 |
copy_paste | 0.075 | 0.404 | 0.304 | 0.404 | 0.404 |
scale | 0.562 | 0.9 | 0.95 | 0.95 | 0.95 |
fliplr | 0.606 | 0.304 | 0.304 | 0.304 | 0.304 |
degrees | 1.11 | ~0 | ~0 | ~0 | ~0 |
shear | 1.46 | ~0 | ~0 | ~0 | ~0 |
translate | 0.071 | 0.275 | 0.275 | 0.275 | 0.275 |
hsv_h | 0.014 | 0.013 | 0.013 | 0.013 | 0.013 |
hsv_s | 0.645 | 0.353 | 0.353 | 0.353 | 0.353 |
hsv_v | 0.566 | 0.194 | 0.194 | 0.194 | 0.194 |
bgr | 0.106 | 0.0 | 0.0 | 0.0 | 0.0 |
تستخدم النماذج الأكبر حجماً أساليب تعزيز أكثر جرأة بشكل عام (مستويات أعلى من التبديل العشوائي والنسخ واللصق والتحجيم)، نظراً لامتلاكها سعة أكبر واستفادتها من تنظيم أقوى. ويُعد النموذج N هو الحجم الوحيد الذي يتميز بتعزيزات ذات مغزى من حيث الدوران والانزياح وBGR.
معايير التدريب الداخلي
متقدم: معلمات خط الأنابيب الداخلية
تحتوي نقاط الفحص أيضًا على معلمات كانت تُستخدم في مسار التدريب الداخلي ولكنها لا متاحة كإعدادات يمكن للمستخدم تهيئتها في default.yaml:
| إعداد | الوصف | ن | S | م | L | X |
|---|---|---|---|---|---|---|
muon_w | تحديث وزن الميون في MuSGD | 0.528 | 0.436 | 0.436 | 0.436 | 0.436 |
sgd_w | SGD وزن SGD في MuSGD | 0.674 | 0.479 | 0.479 | 0.479 | 0.479 |
cls_w | وزن التصنيف الداخلي | 2.74 | 3.48 | 3.48 | 3.48 | 3.48 |
o2m | معامل فقدان الضغط من واحد إلى عدة | 1.0 | 0.705 | 0.705 | 0.705 | 0.705 |
topk | تعيين علامة Top-k | 8 | 5 | 5 | 5 | 5 |
يتم تسجيل هذه القيم لضمان قابلية التكرار، ولكن لا يلزم ضبطها عند إجراء الضبط الدقيق. راجع الأسئلة الشائعة لمزيد من التفاصيل.
إرشادات الضبط الدقيق
عند ضبط نموذج YOLO26 على مجموعة البيانات الخاصة بك، لا داعي لتكرار عملية التدريب المسبق بالكامل. فالأوزان المدربة مسبقًا تحتوي بالفعل على المعرفة المتعلقة بالتوسيع والتحسين المستمدة من COCO . للاطلاع على أفضل الممارسات العامة للتدريب، راجع «نصائح لتدريب النماذج».
ابدأ ببساطة
ضبط الإعدادات باستخدام الإعدادات الافتراضية
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
yolo train model=yolo26n.pt data=your-dataset.yaml epochs=100 imgsz=640
يُعد الضبط الدقيق باستخدام الإعدادات الافتراضية أساسًا قويًا. لا تقم بتعديل المعلمات الفائقة إلا إذا كان لديك سبب محدد لذلك.
متى يجب إجراء التعديل
Small datasets (< 1,000 images):
- تقليل قوة التعزيز:
mosaic=0.5,mixup=0.0,copy_paste=0.0 - معدل تعلم أقل:
lr0=0.001 - استخدم كمية أقل حقبة بصبر:
epochs=50,patience=20 - فكر في تجميد طبقات البنية الأساسية:
freeze=10
مجموعات البيانات الكبيرة (أكثر من 50,000 صورة):
- التقيد بشكل أوثق بوصفة التدريب المسبق
- ضع في اعتبارك
optimizer=MuSGDللرحلات الطويلة - زيادة التعزيز:
mosaic=1.0,mixup=0.3,scale=0.9
الصور الخاصة بمجالات محددة (الجوية، الطبية، تحت الماء):
- زيادة
flipud=0.5إذا اختلف الاتجاه الرأسي - زيادة
degreesإذا ظهرت الكائنات بزوايا دوران عشوائية - ضبط
hsv_sوhsv_vإذا اختلفت ظروف الإضاءة بشكل كبير عن COCO
للحصول على مزيد من المعلومات حول التحسين التلقائي للمعلمات الفائقة، راجع دليل ضبط المعلمات الفائقة.
اختيار مقاس الموديل
| النموذج | الأفضل لـ | إرشادات بشأن حجم الدفعة |
|---|---|---|
| YOLO26n | الأجهزة الطرفية، الأجهزة المحمولة، المعالجة في الوقت الفعلي على CPU | الدُفعات الكبيرة (64-128) على بطاقات الرسومات المخصصة للمستهلكين |
| YOLO26s | توازن بين السرعة والدقة | الدفعات المتوسطة (32-64) |
| YOLO26m | دقة أعلى مع قدر معتدل من الحوسبة | دفعات أصغر (16-32) |
| YOLO26l | دقة عالية عند GPU | مجموعات صغيرة (8-16) أوGPU |
| YOLO26x | أقصى درجات الدقة، ونشر الخوادم | مجموعات صغيرة (4-8) أوGPU |
للاطلاع على خيارات التصدير والنشر، راجع دليل التصدير وخيارات نشر النماذج.
الأسئلة الشائعة
كيف يمكنني الاطلاع على المعلمات الفائقة المستخدمة بالضبط في أي نقطة تفتيش؟
قم بتحميل نقطة التحقق باستخدام torch.load() والوصول إلى train_args المفتاح، أو استخدم model.ckpt["train_args"] باستخدام واجهة Ultralytics . انظر فحص معلمات التدريب للاطلاع على أمثلة كاملة.
لماذا يختلف عدد الدورات الزمنية باختلاف حجم النموذج؟
تتقارب النماذج الأكبر حجماً بشكل أسرع في COCO تتمتع بقدرة أكبر. فقد احتاج النموذج N إلى 245 دورة، بينما احتاج النموذج X إلى 40 دورة فقط. وعند إجراء الضبط الدقيق على مجموعة البيانات الخاصة بك، يعتمد العدد الأمثل للدورات على حجم مجموعة البيانات ومدى تعقيدها، وليس على حجم النموذج. استخدم ميزة الإيقاف المبكر (patience) لتحديد نقطة التوقف المناسبة تلقائيًا.
هل ينبغي عليّ استخدام MuSGD في عملية الضبط الدقيق؟
عندما optimizer=auto (الافتراضي)، تختار Ultralytics MuSGD للتدريبات الطويلة (أكثر من 10,000 تكرار) و AdamW للأقصر منها. يمكنك تعيين optimizer=MuSGD إذا كنت تفضل ذلك. لمزيد من المعلومات حول اختيار المُحسِّن، راجع وثائق التدريب.
ما هي muon_w, sgd_w, cls_w, o2m، و topk في نقطة التفتيش؟
هذه هي المعلمات الداخلية من مسار التدريب الذي أنتج نقاط التحقق الأساسية. يتم تخزينها لضمان قابلية التكرار، ولكنها لا الإعدادات التي يمكن للمستخدم تهيئتها في default.yaml. لا داعي لضبطها عند إجراء الضبط الدقيق. انظر معايير التدريب الداخلي للحصول على التفاصيل.
هل يمكنني إعادة تنفيذ عملية التدريب المسبق بالضبط من البداية؟
تم إنشاء نقاط الفحص باستخدام فرع تدريب داخلي يتضمن ميزات إضافية غير موجودة في قاعدة الكود العامة (مثل إمكانية التهيئة o2m الأوزان و cls_w). يمكنك الحصول على نتائج قريبة جدًا باستخدام المعلمات الفائقة الموثقة في هذه الصفحة مع Ultralytics العامة، لكن إعادة إنتاج النتائج بدقة تتطلب استخدام الفرع الداخلي.