Ultralytics YOLO27:

دليل Ultralytics YOLO لـ ضبط المعلمات الفائقة#

ضبط المعلمات الفائقة في Ultralytics YOLO هو بحث آلي وتكراري يُحسّن الإعدادات — مثل معدل التعلّم وأوزان الخسارة وقوة التعزيز — لتعظيم مقاييس أداء نموذج التعلّم الآلي، مثل الدقة والإحكام والاسترجاع. وبدلاً من اختبار هذه القيم يدوياً، يستكشف Ultralytics YOLO فضاء المعلمات الفائقة باستخدام خوارزمية جينية تُجري طفرات على تكوينات المرشحين وتقيّمها عبر العديد من عمليات التدريب القصيرة.



Watch: How to Tune Hyperparameters for Better Model Performance 🚀

ما المعلمات الفائقة؟#

المعلمات الفائقة هي إعدادات عالية المستوى وهيكلية للخوارزمية. تُحدَّد قبل مرحلة التدريب وتظل ثابتة خلالها. فيما يلي بعض المعلمات الفائقة التي يكثر ضبطها في Ultralytics YOLO:

  • معدل التعلّم lr0: يحدد حجم الخطوة في كل تكرار أثناء التوجه نحو قيمة صغرى في دالة الخسارة.
  • حجم الدفعة batch: عدد الصور التي تُعالَج في الوقت نفسه خلال تمريرة أمامية.
  • عدد العصور epochs: العصر هو تمريرة أمامية وخلفية كاملة واحدة لجميع أمثلة التدريب.
  • تفاصيل البنية: مثل أعداد القنوات، وعدد الطبقات، وأنواع دوال التنشيط، وغير ذلك. توجد هذه التفاصيل في تكوين YAML للنموذج بدلاً من وسيطات التدريب.

من بين هذه العناصر الأربعة، لا يوجد في فضاء البحث الافتراضي سوى معدل التعلّم: يظل كل من batch وepochs والبنية ثابتاً. كما يجري الضابط طفرات على الجدول الزمني وزيادات الخسارة والتعزيزات المدرجة أدناه.

Hyperparameter optimization search space visualization

للحصول على قائمة كاملة بمعلمات التعزيز الفائقة المستخدمة في YOLO26، يُرجى الرجوع إلى صفحة التكوينات.

التطور الجيني والطفرات#

يستخدم Ultralytics YOLO الخوارزميات الجينية لتحسين المعلمات الفائقة. وتستلهم الخوارزميات الجينية آليتها من الانتقاء الطبيعي وعلم الوراثة.

  • الانتقاء: يختار كل تكرار إحدى التكوينات التسع الأعلى لياقة أو أقل، مع ترجيح الاختيار بحسب اللياقة. وبعد 30 نتيجة، تقدّر أفضل 20% من جميع النتائج (بحد أقصى 30 نتيجة) أيضاً تغاير المعلمات، مع ازدياد التأثير كلما تراكمت الأدلة من النخبة.
  • الطفرة: يُجري كل تكرار طفرات على نحو نصف المعلمات تقريباً باستخدام خطوات غاوسية مُطبَّعة وفق نطاقات البحث الخاصة بها. وعند تفعيل التغاير، تستخدم حصة موزونة بالثقة لا تتجاوز 40% خطوات مترابطة، مع إعادة انعكاس الخطوات إلى داخل الحدود من دون تراكم القيم المقصوصة. ومع تراكم التجارب من دون تحسن، تضيق أحجام الخطوات خطياً بنسبة تصل إلى 20% على مدى 25 تجربة، وتُعاد تهيئتها عند العثور على نتيجة أفضل جديدة. لا يملك التكرار 1 أصلاً، ويستخدم معلمات التدريب الفائقة الافتراضية كخط أساس.

التحضير لضبط المعلمات الفائقة#

قبل البدء بعملية الضبط، من المهم أن:

  1. تحديد المقاييس: يرتّب الضابط المضمّن (use_ray=False) التجارب بحسب درجة fitness الخاصة بالمهمة، بينما يستخدم use_ray=True مقياس المهمة. حدّد المقاييس الثانوية التي ستفحصها، مثل AP50 أو درجة F1.
  2. تحديد ميزانية الضبط: حدّد مقدار موارد الحوسبة التي ترغب في تخصيصها. قد يتطلب ضبط المعلمات الفائقة موارد حوسبة كبيرة.

كيفية عمل حلقة الضبط#

في كل تكرار، يكرر الضابط المضمّن الحلقة التالية:

  1. تهيئة المعلمات الفائقة — ابدأ بخط أساس معقول، إما بالمعلمات الفائقة الافتراضية التي يحددها Ultralytics YOLO أو بقيم تستند إلى معرفتك بالمجال أو تجاربك السابقة.
  2. إجراء طفرات على المعلمات الفائقة — تنتج الفئة Tuner مجموعة جديدة من المعلمات الفائقة انطلاقاً من المجموعة الحالية باستخدام أسلوبها _mutate تلقائياً.
  3. تدريب النموذج — درّب باستخدام المعلمات الفائقة التي أُجريت عليها الطفرات، ثم قيّم أداء التدريب باستخدام المقاييس التي اخترتها.
  4. تقييم النموذج — تنتج عملية التقييم درجة لياقة التكرار، التي تُقارن بالتكرارات السابقة لتحديد ما إذا كانت المعلمات الفائقة الحالية تمثل تحسناً.
  5. تسجيل النتائج — سجّل مقاييس الأداء والمعلمات الفائقة المقابلة لها للرجوع إليها مستقبلاً. يحفظ Ultralytics YOLO هذه النتائج تلقائياً بتنسيق NDJSON.
  6. التكرار — واصل حتى بلوغ العدد المحدد من التكرارات، بحيث يبني كل تكرار على المعرفة المكتسبة من عمليات التشغيل السابقة. يشغّل الضابط المضمّن جميع iterations؛ بينما يُبلغ Ray Tune عن المقاييس بعد كل عصر تدريب، مما يتيح لـ ASHA إيقاف التجارب الضعيفة بعد فترة السماح الخاصة بها.

التكرارات وحجم المجموعة#

باستخدام الضابط المضمّن (use_ray=False)، يتحكم iterations في العدد الإجمالي للتجارب المتسلسلة، وتبلغ قيمته الافتراضية 300. تدرب كل تجربة نموذجاً واحداً بتكوين واحد للمعلمات الفائقة — فعلى سبيل المثال، يجدول iterations=40 مع epochs=50 40 عملية تدريب مستقلة مدة كل منها 50 عصراً، وليس عملية واحدة مدتها 50 عصراً مع مجموعة منفصلة تضم 40 مرشحاً.

لا تحتوي الخوارزمية الجينية المضمّنة على معلمة صريحة لحجم المجموعة. وبعد وجود تجارب سابقة، تختار ما يصل إلى تسعة من التكوينات الأعلى لياقة، وتجري طفرة على مرشح واحد في كل تكرار.

لإجراء تجارب متوازية أو استخدام استراتيجيات بحث أكثر تقدماً، اضبط use_ray=True لاستخدام Ray Tune، الذي يستخدم القيمة الافتراضية نفسها البالغة 300 تجربة ويتلقى iterations بوصفه num_samples. راجع دليل تكامل Ray Tune لمزيد من التفاصيل.

فضاء البحث الافتراضي#

يسرد الجدول التالي معلمات فضاء البحث الافتراضية لضبط المعلمات الفائقة في YOLO26. لكل معلمة نطاق قيم محدد بواسطة صفيف (min, max).

المعلمةالنوعنطاق القيمالوصف
lr0float(1e-5, 1e-2)معدل التعلّم الأولي عند بدء التدريب. توفر القيم الأقل تدريباً أكثر استقراراً، لكنها تؤدي إلى تقارب أبطأ
lrffloat(0.01, 1.0)عامل معدل التعلّم النهائي كنسبة من lr0. يتحكم في مقدار انخفاض معدل التعلّم أثناء التدريب
momentumfloat(0.7, 0.98)عامل زخم SGD. تساعد القيم الأعلى في الحفاظ على اتجاه متسق للتدرج وقد تسرّع التقارب
weight_decayfloat(0.0, 0.001)عامل تنظيم L2 لمنع فرط التكيّف. تفرض القيم الأكبر تنظيماً أقوى
warmup_epochsfloat(0.0, 5.0)عدد العصور للإحماء الخطي لمعدل التعلّم. يساعد في منع عدم استقرار التدريب المبكر
warmup_momentumfloat(0.0, 0.95)الزخم الأولي أثناء مرحلة الإحماء. يزداد تدريجياً حتى قيمة الزخم النهائية
boxfloat(1.0, 20.0)وزن خسارة BBox في دالة الخسارة الكلية. يوازن بين انحدار الصندوق والتصنيف
clsfloat(0.1, 4.0)وزن خسارة التصنيف في دالة الخسارة الكلية. تؤكد القيم الأعلى على التنبؤ الصحيح بالفئة
cls_pwfloat(0.0, 1.0)قوة ترجيح الفئات لمعالجة اختلال توازن الفئات. تزيد القيم الأعلى الوزن الممنوح للفئات النادرة
dflfloat(0.4, 12.0)وزن حد انحدار مسافة الصندوق. يطبق YOLO26 الخالي من DFL هذه الزيادة على خسارة L1 لمسافات الصناديق المُطبَّعة؛ وتؤكد القيم الأعلى على تحديد موضع دقيق
hsv_hfloat(0.0, 0.1)نطاق تعزيز درجة اللون العشوائية في فضاء ألوان HSV. يساعد النموذج على التعميم عبر اختلافات الألوان
hsv_sfloat(0.0, 0.9)نطاق تعزيز التشبع العشوائي في فضاء HSV. يحاكي ظروف إضاءة مختلفة
hsv_vfloat(0.0, 0.9)نطاق تعزيز القيمة العشوائية (السطوع). يساعد النموذج على التعامل مع مستويات تعريض مختلفة
degreesfloat(0.0, 45.0)أقصى تعزيز للدوران بالدرجات. يساعد النموذج على أن يصبح غير متأثر باتجاه الكائن
translatefloat(0.0, 0.9)أقصى تعزيز للإزاحة كنسبة من حجم الصورة. يحسن المتانة تجاه موضع الكائن
scalefloat(0.0, 0.95)نطاق تعزيز التحجيم العشوائي. يساعد النموذج على اكتشاف الكائنات بأحجام مختلفة
shearfloat(0.0, 10.0)أقصى تعزيز للقص بالدرجات. يضيف تشوهات شبيهة بالمنظور إلى صور التدريب
perspectivefloat(0.0, 0.001)نطاق تعزيز المنظور العشوائي. يحاكي زوايا رؤية مختلفة
flipudfloat(0.0, 1.0)احتمال قلب الصورة عمودياً أثناء التدريب. مفيد للصور الملتقطة من أعلى أو الصور الجوية
fliplrfloat(0.0, 1.0)احتمال قلب الصورة أفقياً. يساعد النموذج على أن يصبح غير متأثر باتجاه الكائن
bgrfloat(0.0, 1.0)احتمال استخدام تعزيز BGR، الذي يبدّل قنوات الألوان. قد يساعد في تحقيق عدم التأثر بالألوان
mosaicfloat(0.0, 1.0)احتمال استخدام تعزيز الفسيفساء، الذي يدمج 4 صور. مفيد بشكل خاص لاكتشاف الكائنات الصغيرة
mixupfloat(0.0, 1.0)احتمال استخدام تعزيز mixup، الذي يمزج صورتين. قد يحسن متانة النموذج
cutmixfloat(0.0, 1.0)احتمال استخدام تعزيز cutmix. يدمج مناطق الصور مع الحفاظ على السمات المحلية
copy_pastefloat(0.0, 1.0)في وضع flip، نسبة الكائنات المؤهلة التي تُنسخ؛ وفي وضع mixup، احتمال تطبيقه أيضاً
close_mosaicint(0.0, 10.0)يعطّل الفسيفساء في آخر N من العصور لتحقيق استقرار التدريب قبل اكتماله. تُجرى عليه طفرة بوصفه قيمة عائمة، ثم يُقرَّب إلى عدد صحيح من العصور

مثال على فضاء بحث مخصص#

إليك كيفية تعريف فضاء بحث واستخدام أسلوب model.tune() للاستفادة من الفئة Tuner لضبط المعلمات الفائقة للنموذج YOLO26n على COCO8 مدة 30 عصراً باستخدام مُحسِّن AdamW، مع تخطي الرسم وإنشاء نقاط التحقق والتحقق، باستثناء العصر النهائي، لتسريع الضبط.

تحذير

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

مثال
from ultralytics import YOLO

# Initialize the YOLO model
model = YOLO("yolo26n.pt")

# Define search space
search_space = {
    "lr0": (1e-5, 1e-2),
    "degrees": (0.0, 45.0),
}

# Tune hyperparameters on COCO8 for 30 epochs
model.tune(
    data="coco8.yaml",
    epochs=30,
    iterations=300,
    optimizer="AdamW",
    space=search_space,
    plots=False,
    save=False,
    val=False,
)

استئناف جلسة ضبط معلمات فائقة متوقفة#

يمكنك استئناف جلسة ضبط معلمات فائقة متوقفة بتمرير resume=True. ويمكنك اختيارياً تمرير الدليل name المستخدم ضمن runs/{task} للاستئناف. من دون name، يُستأنف الدليل المسمى حرفياً tune، وهو الاسم الافتراضي وليس اسم الجلسة التي شُغّلت مؤخراً، لذا مرّر name لأي تشغيل بدأته باسم مخصص. كما يجب توفير جميع وسيطات التدريب السابقة، بما في ذلك data وepochs وiterations وspace.

استخدام `resume=True` مع `model.tune()`
from ultralytics import YOLO

# Define a YOLO model
model = YOLO("yolo26n.pt")

# Define search space
search_space = {
    "lr0": (1e-5, 1e-2),
    "degrees": (0.0, 45.0),
}

# Resume previous run
results = model.tune(data="coco8.yaml", epochs=50, iterations=300, space=search_space, resume=True)

# Resume tuning run with name 'tune_exp'
results = model.tune(data="coco8.yaml", epochs=50, iterations=300, space=search_space, name="tune_exp", resume=True)

النتائج#

بعد إكمال عملية ضبط المعلمات الفائقة بنجاح، ستحصل على عدة ملفات وأدلة تتضمن نتائج الضبط. فيما يلي وصف لكل منها:

بنية الملفات#

إليك الشكل المتوقع لبنية دليل النتائج. تحتوي أدلة التدريب مثل train/ وtrain-2/ على تكرارات ضبط فردية، أي نموذج واحد دُرّب باستخدام مجموعة واحدة من المعلمات الفائقة. ويحتوي دليل tune/ على نتائج الضبط لجميع عمليات تدريب النماذج الفردية:

runs/
└── detect/
    ├── train/
    ├── train-2/
    ├── ...
    └── tune/
        ├── best_hyperparameters.yaml
        ├── tune_fitness.png
        ├── tune_results.ndjson
        ├── tune_scatter_plots.png
        └── weights/
            ├── last.pt
            └── best.pt

أوصاف الملفات#

best_hyperparameters.yaml#

يحتوي ملف YAML هذا على أفضل المعلمات الفائقة أداءً التي عُثر عليها أثناء عملية الضبط. يمكنك استخدام هذا الملف لتهيئة عمليات التدريب المستقبلية بهذه الإعدادات المحسّنة.

  • التنسيق: YAML

  • الاستخدام: نتائج المعلمات الفائقة

  • مثال:

    # 558/900 iterations complete ✅ (45536.81s)
    # Results saved to /usr/src/ultralytics/runs/detect/tune
    # Best fitness=0.64297 observed at iteration 498
    # Best fitness metrics are {'metrics/precision(B)': 0.87247, 'metrics/recall(B)': 0.71387, 'metrics/mAP50(B)': 0.79106, 'metrics/mAP50-95(B)': 0.62651, 'val/box_loss': 2.79884, 'val/cls_loss': 2.72386, 'val/l1_loss': 0.68503, 'fitness': 0.64297}
    # Best fitness model is /usr/src/ultralytics/runs/detect/tune/weights
    # Best fitness hyperparameters are printed below.
    
    lr0: 0.00269
    lrf: 0.00288
    momentum: 0.73375
    weight_decay: 0.00015
    warmup_epochs: 1.22935
    warmup_momentum: 0.1525
    box: 18.27875
    cls: 1.32899
    dfl: 0.56016
    hsv_h: 0.01148
    hsv_s: 0.53554
    hsv_v: 0.13636
    degrees: 0.0
    translate: 0.12431
    scale: 0.07643
    shear: 0.0
    perspective: 0.0
    flipud: 0.0
    fliplr: 0.08631
    mosaic: 0.42551
    mixup: 0.0
    copy_paste: 0.0

tune_fitness.png#

هذا رسم بياني يعرض اللياقة مقابل عدد التكرارات. ويساعدك على تصور أداء الخوارزمية الجينية بمرور الوقت.

  • التنسيق: PNG
  • الاستخدام: تصور الأداء

Hyperparameter Tuning Fitness vs Iteration

يحتوي الرسم البياني على:

  • علامة واحدة لكل تكرار ولكل مجموعة بيانات، ولذلك يعرض التشغيل على مجموعة بيانات واحدة نقطة واحدة لكل تكرار، بينما يعرض التشغيل على مجموعات بيانات متعددة نقطة واحدة لكل مجموعة بيانات ولكل تكرار.
  • خط منقط يمثل "المتوسط المملّس"، ويُحسب باستخدام التنعيم الغاوسي (sigma=3) على قيم اللياقة عالية المستوى لكل تكرار.

tune_results.ndjson#

ملف NDJSON يحتوي على النتائج التفصيلية لكل تكرار من تكرارات الضبط. كل سطر هو كائن JSON واحد يضم اللياقة الإجمالية والمعلمات الفائقة المضبوطة والمقاييس الخاصة بكل مجموعة بيانات. ويستخدم الضبط على مجموعة بيانات واحدة أو مجموعات متعددة تنسيق الملف نفسه.

  • التنسيق: NDJSON
  • الاستخدام: تتبع النتائج لكل تكرار.
  • مثال:

يأتي مثال منسّق تنسيقاً جميلاً لتسهيل القراءة؛ أما في ملف .ndjson الفعلي، فيُخزَّن كل كائن في سطر واحد.

{
    "iteration": 1,
    "fitness": 0.48628,
    "hyperparameters": {
        "lr0": 0.01,
        "lrf": 0.01,
        "momentum": 0.937,
        "weight_decay": 0.0005
    },
    "datasets": {
        "coco8": {
            "metrics/precision(B)": 0.65666,
            "metrics/recall(B)": 0.85,
            "metrics/mAP50(B)": 0.85086,
            "metrics/mAP50-95(B)": 0.64104,
            "val/box_loss": 1.57958,
            "val/cls_loss": 1.04986,
            "val/l1_loss": 1.32641,
            "fitness": 0.64104
        },
        "coco8-grayscale": {
            "metrics/precision(B)": 0.6582,
            "metrics/recall(B)": 0.51667,
            "metrics/mAP50(B)": 0.59106,
            "metrics/mAP50-95(B)": 0.33152,
            "val/box_loss": 1.95424,
            "val/cls_loss": 1.64059,
            "val/l1_loss": 1.70226,
            "fitness": 0.33152
        }
    },
    "save_dirs": {
        "coco8": "runs/detect/coco8",
        "coco8-grayscale": "runs/detect/coco8-grayscale"
    }
}

يمثل fitness عالي المستوى المتوسط الحسابي لقيم fitness الخاصة بكل مجموعة بيانات. وفي الضبط على مجموعة بيانات واحدة، يحتوي قاموس datasets على إدخال واحد تكون قيمة fitness فيه مساوية لقيمة fitness عالية المستوى. يُسجَّل كائن JSON واحد لكل تكرار مكتمل. وتكون مسارات save_dirs الفعلية مطلقة؛ وقد اختُصرت أعلاه لتسهيل القراءة.

tune_scatter_plots.png#

يحتوي هذا الملف على مخططات مبعثرة مولّدة من tune_results.ndjson، وتساعدك على تصور العلاقات بين المعلمات الفائقة المختلفة ومقاييس الأداء. تستخدم الطفرة النطاق المكوَّن لكل معلمة فائقة، ولذلك يمكن أن تتطور القيم انطلاقاً من قيم افتراضية تساوي صفراً مثل degrees وshear.

  • التنسيق: PNG
  • الاستخدام: تحليل البيانات الاستكشافي

Hyperparameter tuning results scatter plot analysis

weights/#

يحتوي هذا الدليل على نماذج PyTorch المحفوظة من تكرار التشغيل الخاص بالضبط الذي حقق أفضل لياقة. يأتي كلا الملفين من التكرار نفسه:

  • last.pt: تمثل last.pt أوزان العصر الأخير من التدريب.
  • best.pt: تمثل أوزان best.pt التكرار الذي حقق أفضل درجة لياقة.

باستخدام هذه النتائج، يمكنك اتخاذ قرارات أكثر استنارة بشأن عمليات تدريب النماذج وتحليلاتها المستقبلية.

الخلاصة#

يتميز ضبط المعلمات الفائقة في Ultralytics YOLO بسهولة التشغيل وقوة الأداء الداخلية، إذ يستخدم الانتقاء الموزون باللياقة والطفرات المطبّعة وفق النطاقات ضمن خوارزمية جينية. ويتيح لك اتباع الحلقة الموضحة في هذا الدليل ضبط نموذجك منهجياً لتحقيق أداء أفضل، ثم إعادة استخدام best_hyperparameters.yaml الناتج لتهيئة عمليات التدريب المستقبلية. ولتوسيع نطاق الضبط عبر تجارب متوازية وخوارزميات بحث أكثر تقدماً، تابع دليل تكامل Ray Tune، أو شغّل مهام مُدارة باستخدام معلمات فائقة قابلة للتهيئة وتتبع للمقاييس في الوقت الفعلي على منصة Ultralytics عبر التدريب السحابي.

بالنسبة إلى الإعدادات التي لا تكشف عنها أي وسيطة، مثل معدلات التعلّم لكل طبقة أو مقياس لياقة مخصص، أنشئ فئة فرعية من المدرب بدلاً من ذلك. وللحصول على رؤى أعمق، استكشف الشيفرة المصدرية للفئة Tuner. وإذا كانت لديك أسئلة أو طلبات ميزات، فتواصل معنا عبر GitHub أو Discord.

الأسئلة الشائعة#

  • عيّن قيمة أولية باستخدام المعلمة lr0 — وتتراوح القيم الشائعة من 0.001 إلى 0.01 — ودَع الضبط يُجري عليها طفرات من هناك للعثور على القيمة المثلى. يمكنك أتمتة ذلك باستخدام الأسلوب model.tune(). على سبيل المثال:

    مثال
    from ultralytics import YOLO
    
    # Initialize the YOLO model
    model = YOLO("yolo26n.pt")
    
    # Tune hyperparameters on COCO8 for 30 epochs
    model.tune(data="coco8.yaml", epochs=30, iterations=300, optimizer="AdamW", plots=False, save=False, val=False)

    لمزيد من التفاصيل، راجع صفحة تهيئة Ultralytics YOLO.

  • توفر الخوارزميات الجينية في Ultralytics YOLO26 طريقة قوية لاستكشاف فضاء المعلمات الفائقة، مما يؤدي إلى تحسين أداء النموذج بدرجة كبيرة. وتشمل الفوائد الرئيسية ما يلي:

    • البحث الفعّال: يحافظ الاختيار الموزون حسب الملاءمة على التهيئات القوية، بينما يستكشف الطفر بالتطبيع وفق النطاق مرشحين جددًا.
    • تجنب نقاط الحد الأدنى المحلية: من خلال إدخال العشوائية، تساعد هذه الخوارزميات على تجنب نقاط الحد الأدنى المحلية، مما يضمن تحسينًا عالميًا أفضل.
    • مقاييس الأداء: تتكيف الخوارزميات استنادًا إلى درجة ملاءمة خاصة بالمهمة (mAP50-95 للكشف).

    لمعرفة كيفية تحسين الخوارزميات الجينية للمعلمات الفائقة، راجع دليل تطور المعلمات الفائقة.

  • يعتمد الوقت المطلوب لضبط المعلمات الفائقة باستخدام Ultralytics YOLO بدرجة كبيرة على عدة عوامل، مثل حجم مجموعة البيانات، وتعقيد بنية النموذج، وعدد التكرارات، والموارد الحوسبية المتاحة. فعلى سبيل المثال، قد يستغرق ضبط YOLO26n على مجموعة بيانات مثل COCO8 لمدة 30 حقبة عدة ساعات إلى عدة أيام، اعتمادًا على الأجهزة.

    لإدارة وقت الضبط بفعالية، حدّد مسبقًا ميزانية واضحة للضبط، كما هو موضح في الاستعداد لضبط المعلمات الفائقة. ويساعد ذلك على تحقيق التوازن بين تخصيص الموارد وأهداف التحسين.

  • عند تقييم أداء النموذج أثناء ضبط المعلمات الفائقة في YOLO، يمكنك استخدام عدة مقاييس رئيسية:

    • AP50: متوسط الدقة عند عتبة IoU البالغة 0.50.
    • درجة F1: المتوسط التوافقي للدقة والاسترجاع.
    • الدقة والاسترجاع: مقياسان منفردان يشيران إلى دقة النموذج في تحديد الإيجابيات الحقيقية مقارنةً بالإيجابيات الكاذبة والسلبيات الكاذبة.

    تساعدك هذه المقاييس على فهم الجوانب المختلفة لأداء النموذج. راجع دليل مقاييس أداء Ultralytics YOLO للاطلاع على نظرة شاملة.

  • نعم، يتكامل Ultralytics YOLO26 مع Ray Tune لتحسين المعلمات الفائقة المتقدم. يوفر Ray Tune خوارزميات بحث متطورة مثل التحسين البايزي وHyperband، إلى جانب إمكانات التنفيذ المتوازي لتسريع عملية الضبط.

    لاستخدام Ray Tune مع YOLO26، ما عليك سوى تعيين المعلمة use_ray=True في استدعاء الطريقة model.tune() لديك. لمزيد من التفاصيل والأمثلة، راجع دليل تكامل Ray Tune.

التعليقات