تخطي إلى المحتوى

وصفة تدريب 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مLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640

استراتيجية معدل التعلم

استخدم نموذج N معدل تعلم أولي أعلى مع انخفاض حاد (lrf=0.0495)، في حين استخدمت طرز S/M/L/X معدل انخفاض أولي أقل بكثير مع جدول زمني أكثر تدرجًا (lrf=0.882). وهذا يعكس الاختلاف في ديناميات التقارب بين النماذج الأصغر والنماذج الأكبر — فالنماذج الأصغر تحتاج إلى تحديثات أكثر جرأة لتتمكن من التعلم بفعالية.

أوزان الخسارة

إعدادنSمLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

يعطي النموذج N الأولوية لخسارة DFL، بينما تركز النماذج S/M/L/X على انحدار الصندوق المحيط. وتبقى خسارة التصنيف ثابتة نسبيًا عبر جميع الأحجام.

مسار التوسيع

للاطلاع على شرح مفصل لكل تقنية، راجع دليل تعزيزYOLO .

إعدادنSمLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

تستخدم النماذج الأكبر حجماً أساليب تعزيز أكثر جرأة بشكل عام (مستويات أعلى من التبديل العشوائي والنسخ واللصق والتحجيم)، نظراً لامتلاكها سعة أكبر واستفادتها من تنظيم أقوى. ويُعد النموذج N هو الحجم الوحيد الذي يتميز بتعزيزات ذات مغزى من حيث الدوران والانزياح وBGR.

معايير التدريب الداخلي

متقدم: معلمات خط الأنابيب الداخلية

تحتوي نقاط الفحص أيضًا على معلمات كانت تُستخدم في مسار التدريب الداخلي ولكنها لا متاحة كإعدادات يمكن للمستخدم تهيئتها في default.yaml:

إعدادالوصفنSمLX
muon_wتحديث وزن الميون في MuSGD0.5280.4360.4360.4360.436
sgd_wSGD وزن SGD في MuSGD0.6740.4790.4790.4790.479
cls_wوزن التصنيف الداخلي2.743.483.483.483.48
o2mمعامل فقدان الضغط من واحد إلى عدة1.00.7050.7050.7050.705
topkتعيين علامة Top-k85555

يتم تسجيل هذه القيم لضمان قابلية التكرار، ولكن لا يلزم ضبطها عند إجراء الضبط الدقيق. راجع الأسئلة الشائعة لمزيد من التفاصيل.

إرشادات الضبط الدقيق

عند ضبط نموذج 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 العامة، لكن إعادة إنتاج النتائج بدقة تتطلب استخدام الفرع الداخلي.



📅 تم الإنشاء قبل 0 أيام ✏️ تم التحديث قبل 0 أيام
raimbekovm

تعليقات