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

وصفة تدريب 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 بدقة 640x640 باستخدام مُحسِّن MuSGD مع حجم دفعة 128. تم تهيئة النماذج من أوزان مُدربة مسبقًا وسيطة وتم تحسينها باستخدام معلمات فائقة تم العثور عليها عبر البحث التطوري. سجلات التدريب الكاملة والمقاييس لكل حجم نموذج متاحة على منصة Ultralytics:

الخيارات التصميمية الرئيسية في جميع الأحجام:

  • تدريب شامل (end2end=True) مع رأس واحد لواحد خالٍ من NMS
  • مُحسِّن MuSGD الذي يجمع بين SGD والتحديثات المتعامدة على غرار Muon لأوزان الالتفاف (conv weights)
  • تكبير الفسيفساء بكثافة (احتمالية ~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. لا تحتاج إلى تعيينها عند الضبط الدقيق. انظر معايير التدريب الداخلي للحصول على التفاصيل.

هل يمكنني تكرار التدريب المسبق (pretraining) الدقيق من البداية؟

تم إنشاء نقاط الفحص باستخدام فرع تدريب داخلي يتضمن ميزات إضافية غير موجودة في قاعدة الكود العامة (مثل إمكانية التهيئة o2m الأوزان و cls_w). يمكنك الحصول على نتائج متقاربة جدًا باستخدام المعلمات الفائقة الموثقة في هذه الصفحة مع حزمة Ultralytics العامة، ولكن الاستنساخ الدقيق يتطلب الفرع الداخلي.



📅 تم الإنشاء قبل 7 أيام ✏️ تم التحديث قبل 5 أيام
Y-T-Gdependabotraimbekovm

تعليقات