الإعدادات

تلعب إعدادات ومعاملات YOLO دوراً حاسماً في أداء النموذج وسرعته ودقة التنبؤ. يمكن لهذه الإعدادات أن تؤثر على سلوك النموذج في مراحل مختلفة، بما في ذلك التدريب والتحقق من الصحة والتنبؤ.



Watch: Mastering Ultralytics YOLO: Configuration

تستخدم أوامر Ultralytics البنية التالية:

مثال
yolo TASK MODE ARGS

حيث:

Default ARG values are defined on this page and come from the cfg/default.yaml file.

المهام

يمكن لنماذج Ultralytics YOLO أداء مجموعة متنوعة من مهام الرؤية الحاسوبية، بما في ذلك:

المعاملالافتراضيالوصف
task'detect'يحدد مهمة YOLO: detect لـ اكتشاف الكائنات، segment لتقسيم المثيلات، classify للتصنيف، pose لتقدير الوضعية، obb لصناديق التحديد الموجهة، وsemantic للتقسيم الدلالي. كل مهمة مصممة خصيصاً لمخرجات ومشاكل محددة في تحليل الصور والفيديو.

دليل المهام

الأوضاع

تعمل نماذج Ultralytics YOLO في أوضاع مختلفة، كل منها مصمم لمرحلة محددة من دورة حياة النموذج:

  • Train: تدريب نموذج YOLO على مجموعة بيانات مخصصة.
  • Val: التحقق من صحة نموذج YOLO مدرب.
  • Predict: استخدام نموذج YOLO مدرب لإجراء تنبؤات على صور أو فيديوهات جديدة.
  • Export: تصدير نموذج YOLO للنشر.
  • Track: تتبع الكائنات في الوقت الفعلي باستخدام نموذج YOLO.
  • Benchmark: قياس سرعة ودقة صادرات YOLO (ONNX، TensorRT، إلخ).
المعاملالافتراضيالوصف
mode'train'يحدد وضع تشغيل نموذج YOLO: train لتدريب النموذج، val للتحقق، predict للاستدلال، export للتحويل إلى تنسيقات النشر، track لتتبع الكائنات، وbenchmark لتقييم الأداء. يدعم كل وضع مراحل مختلفة، من التطوير إلى النشر.

دليل الأوضاع

إعدادات التدريب

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

المعاملالنوعالافتراضيالوصف
modelstrNoneيحدد ملف النموذج للتدريب. يقبل مساراً إما لنموذج مُدرب مسبقاً .pt أو ملف إعدادات .yaml. ضروري لتحديد بنية النموذج أو تهيئة الأوزان.
datastrNoneمسار ملف إعدادات مجموعة البيانات (مثلاً coco8.yaml). يحتوي هذا الملف على معاملات خاصة بمجموعة البيانات، بما في ذلك مسارات بيانات التدريب وبيانات التحقق، وأسماء الفئات، وعدد الفئات.
epochsint100إجمالي عدد دورات التدريب (epochs). تمثل كل دورة تمريرة كاملة عبر مجموعة البيانات بالكامل. تعديل هذه القيمة يمكن أن يؤثر على مدة التدريب وأداء النموذج.
timefloatNoneأقصى وقت تدريب بالساعات. إذا تم ضبطه، فإنه يتجاوز معامل epochs، مما يسمح للتدريب بالتوقف تلقائياً بعد المدة المحددة. مفيد لسيناريوهات التدريب المقيدة زمنياً.
patienceint100عدد الدورات للانتظار دون تحسن في مقاييس التحقق قبل إيقاف التدريب مبكراً. يساعد في منع الفرط في التخصيص عن طريق إيقاف التدريب عندما يستقر الأداء.
batchint أو float16حجم الدفعة، مع ثلاثة أوضاع: كعدد صحيح (مثلاً batch=16)، أو الوضع التلقائي لاستخدام 60% من ذاكرة GPU (batch=-1)، أو الوضع التلقائي مع كسر استخدام محدد (batch=0.70).
imgszint640حجم الصورة المستهدف للتدريب. يتم تغيير حجم الصور إلى مربعات بأضلاع تساوي القيمة المحددة (إذا كان rect=False)، مع الحفاظ على نسبة العرض إلى الارتفاع لنماذج YOLO ولكن ليس RT-DETR. يؤثر على دقة النموذج والتعقيد الحسابي.
saveboolTrueيُمكّن حفظ نقاط فحص التدريب وأوزان النموذج النهائية. مفيد لاستئناف التدريب أو نشر النموذج.
save_periodint-1تكرار حفظ نقاط فحص النموذج، محدد بالدورات. القيمة -1 تعطل هذه الميزة. مفيد لحفظ النماذج المؤقتة خلال جلسات التدريب الطويلة.
cacheboolFalseيُمكّن التخزين المؤقت لصور مجموعة البيانات في الذاكرة (True/ram)، أو على القرص (disk)، أو يعطله (False). يحسن سرعة التدريب عن طريق تقليل عمليات الإدخال/الإخراج للقرص على حساب زيادة استخدام الذاكرة.
deviceint أو str أو listNoneيحدد جهاز/أجهزة الحوسبة للتدريب: GPU واحد (device=0)، وحدات GPU متعددة (device=[0,1])، CPU (device=cpu)، MPS لمعالجات Apple silicon (device=mps)، Huawei Ascend NPU (device=npu أو device=npu:0)، أو الاختيار التلقائي لأكثر GPU غير مشغول (device=-1) أو وحدات GPU متعددة غير مشغولة (device=[-1,-1])
workersint8عدد خيوط العمل لتحميل البيانات (لكل RANK في حالة التدريب متعدد GPU). يؤثر على سرعة المعالجة المسبقة للبيانات وتغذيتها للنموذج، وهو مفيد بشكل خاص في إعدادات متعددة GPU.
projectstrNoneاسم دليل المشروع حيث يتم حفظ مخرجات التدريب. يسمح بتخزين منظم للتجارب المختلفة.
namestrNoneاسم تشغيل التدريب. يستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات ومخرجات التدريب.
exist_okboolFalseإذا كان True، يسمح بالكتابة فوق دليل المشروع/الاسم الموجود. مفيد للتجارب التكرارية دون الحاجة إلى مسح المخرجات السابقة يدوياً.
pretrainedbool أو strTrueيحدد ما إذا كان يجب بدء التدريب من أوزان مُدربة مسبقاً. يمكن أن يكون قيمة منطقية أو مساراً نصياً للأوزان المراد تحميلها. pretrained=False يبدأ التدريب من أوزان مُهيأة عشوائياً مع الحفاظ على بنية النموذج.
optimizerstr'auto'اختيار المحسن للتدريب. تشمل الخيارات SGD، MuSGD، Adam، Adamax، AdamW، NAdam، RAdam، RMSProp، أو auto للاختيار التلقائي بناءً على إعدادات النموذج. يؤثر على سرعة التقارب والاستقرار.
seedint0يضبط البذرة العشوائية للتدريب، مما يضمن قابلية تكرار النتائج عبر التشغيلات بنفس الإعدادات.
deterministicboolTrueيفرض استخدام خوارزمية حتمية، مما يضمن قابلية التكرار ولكنه قد يؤثر على الأداء والسرعة بسبب القيود المفروضة على الخوارزميات غير الحتمية.
verboseboolTrueيُمكّن المخرجات التفصيلية أثناء التدريب، حيث يعرض أشرطة التقدم، ومقاييس كل دورة، ومعلومات تدريب إضافية في وحدة التحكم.
single_clsboolFalseيعامل جميع الفئات في مجموعات البيانات متعددة الفئات كفئة واحدة أثناء التدريب. مفيد لمهام التصنيف الثنائي أو عند التركيز على وجود الكائن بدلاً من تصنيفه.
classeslist[int]Noneيحدد قائمة بمعرفات الفئات للتدريب عليها. مفيد لتصفية والتركيز فقط على فئات معينة أثناء التدريب.
rectboolFalseيُمكّن استراتيجية الحشو الأدنى—يتم حشو الصور في دفعة بحد أدنى للوصول إلى حجم مشترك، مع تساوي الجانب الأطول مع imgsz. يمكن أن يحسن الكفاءة والسرعة ولكنه قد يؤثر على دقة النموذج.
multi_scalefloat0.0يغير حجم imgsz عشوائياً في كل دفعة بمقدار +/- multi_scale (مثلاً 0.25 -> 0.75x إلى 1.25x)، مع التقريب إلى مضاعفات خطوة النموذج؛ 0.0 يعطل التدريب متعدد المقاييس.
cos_lrboolFalseيستخدم مجدول معدل التعلم جيب التمام، حيث يقوم بضبط معدل التعلم باتباع منحنى جيب التمام عبر العصور (epochs). يساعد في إدارة معدل التعلم لتحقيق تقارب أفضل.
close_mosaicint10يعطل زيادة البيانات بنمط الفسيفساء (mosaic) في آخر N عصور لتثبيت التدريب قبل اكتماله. ضبط القيمة على 0 يعطل هذه الميزة.
resumeboolFalseيستأنف التدريب من آخر نقطة تفتيش (checkpoint) تم حفظها. يقوم تلقائيًا بتحميل أوزان النموذج، وحالة المُحسن (optimizer)، وعدد العصور، مما يضمن استمرار التدريب بسلاسة.
ampboolTrueيُمكّن تدريب الدقة المختلطة التلقائية (AMP)، مما يقلل من استخدام الذاكرة وربما يسرع عملية التدريب مع تأثير ضئيل على الدقة.
fractionfloat1.0يحدد جزءًا من مجموعة البيانات المراد استخدامها للتدريب. يسمح بالتدريب على مجموعة فرعية من مجموعة البيانات الكاملة، وهو مفيد للتجارب أو عند محدودية الموارد.
profileboolFalseيُمكّن تحليل سرعات ONNX و TensorRT أثناء التدريب، وهو مفيد لتحسين نشر النموذج.
freezeint أو listNoneيُجمّد أول N طبقة من النموذج أو الطبقات المحددة حسب الفهرس، مما يقلل من عدد المعلمات القابلة للتدريب. مفيد لضبط الدقة (fine-tuning) أو التعلم بنقل المعرفة.
lr0float0.01معدل التعلم الأولي (مثل SGD=1E-2، Adam=1E-3). يعد ضبط هذه القيمة أمرًا بالغ الأهمية لعملية التحسين، حيث يؤثر على سرعة تحديث أوزان النموذج.
lrffloat0.01معدل التعلم النهائي كجزء من المعدل الأولي = (lr0 * lrf)، ويستخدم مع المجدولات لضبط معدل التعلم بمرور الوقت.
momentumfloat0.937عامل الزخم (momentum) لـ SGD أو beta1 لـ مُحسنات Adam، مما يؤثر على دمج التدرجات السابقة في التحديث الحالي.
weight_decayfloat0.0005مصطلح التنظيم L2، الذي يعاقب الأوزان الكبيرة لمنع الإفراط في التخصيص (overfitting).
warmup_epochsfloat3.0عدد العصور الخاصة بتهيئة معدل التعلم (warmup)، مما يؤدي إلى زيادة معدل التعلم تدريجيًا من قيمة منخفضة إلى معدل التعلم الأولي لتحقيق استقرار التدريب في البداية.
warmup_momentumfloat0.8الزخم الأولي لمرحلة التهيئة، والذي يتم ضبطه تدريجيًا ليصل إلى الزخم المحدد خلال فترة التهيئة.
warmup_bias_lrfloat0.1معدل التعلم لمعلمات الانحياز (bias) خلال مرحلة التهيئة، مما يساعد في استقرار تدريب النموذج في العصور الأولى.
boxfloat7.5وزن مكون خسارة الصندوق في دالة الخسارة، مما يؤثر على مدى التركيز الموضوع على التنبؤ الدقيق بإحداثيات صندوق الإحاطة.
clsfloat0.5وزن خسارة التصنيف في إجمالي دالة الخسارة، مما يؤثر على أهمية التنبؤ الصحيح بالفئة مقارنة بالمكونات الأخرى.
cls_pwfloat0.0قوة ترجيح الفئات للتعامل مع عدم توازن الفئات باستخدام التردد العكسي للفئة. القيمة 0.0 تعطل ترجيح الفئات، و 1.0 تطبق ترجيح التردد العكسي الكامل. القيم بين 0 و 1 توفر ترجيحًا جزئيًا.
dflfloat1.5وزن خسارة التوزيع البؤري (distribution focal loss)، المستخدم في إصدارات معينة من YOLO للتصنيف الدقيق.
posefloat12.0وزن خسارة الوضع (pose) في النماذج المدربة لتقدير الوضع، مما يؤثر على التركيز على التنبؤ الدقيق للنقاط الرئيسية للوضع.
kobjfloat1.0وزن خسارة وجود النقاط الرئيسية (keypoint objectness) في نماذج تقدير الوضع، مما يوازن بين ثقة الكشف ودقة الوضع.
rlefloat1.0وزن خسارة تقدير احتمالية اللوغاريتم المتبقية (residual log-likelihood estimation) في نماذج تقدير الوضع، مما يؤثر على دقة تحديد مواقع النقاط الرئيسية.
anglefloat1.0وزن خسارة الزاوية في نماذج OBB، مما يؤثر على دقة تنبؤات زاوية صندوق الإحاطة الموجه.
nbsint64حجم الدفعة الاسمي (nominal batch size) لتطبيع الخسارة.
overlap_maskboolTrueيحدد ما إذا كان يجب دمج أقنعة الكائنات في قناع واحد للتدريب، أو الاحتفاظ بها منفصلة لكل كائن. في حالة التداخل، يتم وضع القناع الأصغر فوق القناع الأكبر أثناء الدمج.
mask_ratioint4نسبة التقليل (downsample) لأقنعة التجزئة (segmentation masks)، مما يؤثر على دقة الأقنعة المستخدمة أثناء التدريب.
dropoutfloat0.0معدل الإسقاط (dropout) للتنظيم في مهام التصنيف، مما يمنع الإفراط في التخصيص عن طريق حذف الوحدات عشوائيًا أثناء التدريب.
valboolTrueيُمكّن التحقق (validation) أثناء التدريب، مما يسمح بالتقييم الدوري لأداء النموذج على مجموعة بيانات منفصلة.
plotsboolTrueينشئ ويحفظ رسومًا بيانية لمقاييس التدريب والتحقق، بالإضافة إلى أمثلة التنبؤ، مما يوفر رؤى مرئية حول أداء النموذج وتقدم التعلم.
compilebool أو strFalseيُمكّن تجميع الرسم البياني لـ PyTorch 2.x torch.compile مع backend='inductor'. يقبل True"default"، False → لتعطيل، أو وضع نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى الوضع السريع (eager) مع تحذير إذا كان غير مدعوم.
max_detint300يحدد الحد الأقصى لعدد الكائنات التي يتم الاحتفاظ بها أثناء مرحلة التحقق من التدريب.
ملاحظة حول إعدادات حجم الدفعة

توفر وسيطة batch ثلاثة خيارات للتكوين:

  • حجم دفعة ثابت: حدد عدد الصور لكل دفعة باستخدام رقم صحيح (مثلاً batch=16).
  • الوضع التلقائي (60% من ذاكرة GPU): استخدم batch=-1 للضبط التلقائي على حوالي 60% من استخدام ذاكرة CUDA.
  • الوضع التلقائي مع كسر الاستخدام: قم بتعيين كسر (مثلاً batch=0.70) للضبط بناءً على استخدام محدد لذاكرة GPU.

دليل التدريب

إعدادات التنبؤ

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

وسائط الاستدلال:

المعاملالنوعالافتراضيالوصف
sourcestr أو int أو NoneNoneيحدد مصدر البيانات للاستدلال. يمكن أن يكون مسار صورة، ملف فيديو، دليل، URL، أو معرف جهاز للبث المباشر. إذا تم حذفه، يتم تسجيل تحذير ويعود النموذج إلى أصول العرض التوضيحي المضمنة (ultralytics/assets، أو URL عرض توضيحي لـ OBB). يدعم مجموعة واسعة من التنسيقات والمصادر، مما يتيح تطبيقًا مرنًا عبر أنواع مختلفة من المدخلات.
conffloat0.25يحدد الحد الأدنى لعتبة الثقة للكشوف. سيتم تجاهل الكائنات التي تم اكتشافها بثقة أقل من هذه العتبة. يمكن أن يساعد ضبط هذه القيمة في تقليل الإيجابيات الكاذبة.
ioufloat0.7عتبة التقاطع فوق الاتحاد (IoU) لـ NMS. تؤدي القيم الأقل إلى عدد أقل من الكشوف عن طريق التخلص من الصناديق المتداخلة، وهو مفيد لتقليل التكرارات.
imgszint أو tuple640الهدف الخاص بـ Letterbox. يعطي الرقم الصحيح مربعًا N×N؛ وتعطي الـ tuple أبعاد (height, width). مع rect=True، قد يكون الموتر الفعلي أصغر من هذا الهدف بسبب حشوة المستطيل الأدنى. استخدم rect=False لحجم ثابت. انظر الشكل الثابت مقابل المستطيل الأدنى.
rectboolTrueإذا كان True، فاستخدم حشوة المستطيل الأدنى عندما يكون ذلك ممكنًا (دفعة ذات شكل موحد وbackend مدعوم). إذا كان False، فقم دائمًا بالحشو إلى imgsz الكامل. انظر الشكل الثابت مقابل المستطيل الأدنى.
halfboolFalseيُمكّن استدلال الدقة النصفية (FP16)، والذي يمكن أن يسرع استدلال النموذج على وحدات GPU المدعومة مع تأثير ضئيل على الدقة.
devicestrNoneيحدد الجهاز للاستدلال (مثلاً cpu، cuda:0، 0، npu أو npu:0). يسمح للمستخدمين بالاختيار بين CPU، أو GPU معين، أو Huawei Ascend NPU، أو أجهزة حوسبة أخرى لتنفيذ النموذج.
batchint1يحدد حجم الدفعة (batch size) للاستدلال (يعمل فقط عندما يكون المصدر دليلاً، أو ملف فيديو، أو ملف .txt). يمكن أن يوفر حجم الدفعة الأكبر إنتاجية أعلى، مما يقلل الوقت الإجمالي المطلوب للاستدلال.
max_detint300الحد الأقصى لعدد الاكتشافات المسموح بها لكل صورة. يحد من إجمالي عدد الكائنات التي يمكن للنموذج اكتشافها في استدلال واحد، مما يمنع المخرجات المفرطة في المشاهد الكثيفة.
vid_strideint1خطوة الإطار (frame stride) لمدخلات الفيديو. يسمح بتخطي الإطارات في مقاطع الفيديو لتسريع المعالجة على حساب الدقة الزمنية. القيمة 1 تعالج كل إطار، والقيم الأعلى تتخطى الإطارات.
stream_bufferboolFalseيحدد ما إذا كان يجب وضع الإطارات الواردة في طابور لتدفقات الفيديو. إذا كان False، يتم إسقاط الإطارات القديمة لاستيعاب إطارات جديدة (مُحسّن للتطبيقات في الوقت الفعلي). إذا كان True، يتم وضع الإطارات الجديدة في مخزن مؤقت، مما يضمن عدم تخطي أي إطار، ولكنه سيسبب تأخيراً إذا كان معدل استدلال الإطارات في الثانية (FPS) أقل من معدل تدفق الإطارات.
visualizeboolFalseيُفعّل تصور ميزات النموذج أثناء الاستدلال، مما يوفر رؤى حول ما "يراه" النموذج. مفيد لتصحيح الأخطاء وتفسير النموذج.
augmentboolFalseيُفعّل التعزيز أثناء وقت الاختبار (TTA) للتنبؤات، مما قد يحسن قوة الاكتشاف على حساب سرعة الاستدلال.
agnostic_nmsboolFalseيُفعّل كبت غير الحد الأقصى (NMS) المحايد للفئات، والذي يدمج المربعات المتداخلة من فئات مختلفة. مفيد في سيناريوهات الاكتشاف متعدد الفئات حيث يكون تداخل الفئات شائعاً. بالنسبة للنماذج الشاملة (YOLO26، YOLOv10)، هذا يمنع فقط ظهور نفس الاكتشاف بتسميات فئات متعددة (تكرارات IoU=1.0) ولا يقوم بكبت يعتمد على عتبة IoU بين مربعات متميزة.
classeslist[int]Noneيقوم بتصفية التنبؤات إلى مجموعة من معرفات الفئات (class IDs). سيتم إرجاع الاكتشافات التي تنتمي للفئات المحددة فقط. مفيد للتركيز على الكائنات ذات الصلة في مهام الاكتشاف متعدد الفئات.
retina_masksboolFalseيُرجع أقنعة تقسيم (segmentation masks) عالية الدقة. ستطابق الأقنعة المُرجعة (masks.data) حجم الصورة الأصلي إذا تم تفعيل هذا الخيار. إذا تم تعطيله، فسيكون لها حجم الصورة المستخدم أثناء الاستدلال.
embedlist[int]Noneيحدد الطبقات التي سيتم استخراج متجهات الميزات أو التضمينات منها. مفيد للمهام اللاحقة مثل التجميع أو البحث عن التشابه.
projectstrNoneاسم دليل المشروع حيث يتم حفظ مخرجات التنبؤ إذا تم تفعيل خيار save.
namestrNoneاسم تشغيل التنبؤ. يُستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين مخرجات التنبؤ إذا تم تفعيل خيار save.
streamboolFalseيُفعّل المعالجة الموفرة للذاكرة لمقاطع الفيديو الطويلة أو الصور العديدة عن طريق إرجاع مولد (generator) لكائنات النتائج بدلاً من تحميل جميع الإطارات في الذاكرة دفعة واحدة.
verboseboolTrueيتحكم في ما إذا كان سيتم عرض سجلات الاستدلال التفصيلية في الطرفية (terminal)، مما يوفر ملاحظات فورية حول عملية التنبؤ.
compilebool أو strFalseيُمكّن تجميع الرسم البياني لـ PyTorch 2.x torch.compile مع backend='inductor'. يقبل True"default"، False → لتعطيل، أو وضع نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى الوضع السريع (eager) مع تحذير إذا كان غير مدعوم.
end2endboolNoneيتجاوز الوضع الشامل (end-to-end) في نماذج YOLO التي تدعم الاستدلال بدون NMS (YOLO26، YOLOv10). ضبطه على False يسمح لك بتشغيل التنبؤ باستخدام خط أنابيب NMS التقليدي، مما يسمح لك بالإضافة إلى ذلك باستخدام وسيطة iou. راجع دليل الاكتشاف الشامل للحصول على التفاصيل.

وسائط التصور:

المعاملالنوعالافتراضيالوصف
showboolFalseإذا كان True، يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار.
saveboolFalse or Trueيُفعّل حفظ الصور أو مقاطع الفيديو المشروحة في ملفات. مفيد للتوثيق، أو إجراء المزيد من التحليل، أو مشاركة النتائج. يكون الافتراضي True عند استخدام CLI و False عند الاستخدام في Python.
save_framesboolFalseعند معالجة مقاطع الفيديو، يحفظ الإطارات الفردية كصور. مفيد لاستخراج إطارات محددة أو لإجراء تحليل مفصل إطاراً بإطار.
save_txtboolFalseيحفظ نتائج الاكتشاف في ملف نصي، باتباع التنسيق [class] [x_center] [y_center] [width] [height] [confidence]. مفيد للتكامل مع أدوات التحليل الأخرى.
save_confboolFalseيتضمن درجات الثقة في الملفات النصية المحفوظة. يعزز التفاصيل المتاحة للمعالجة اللاحقة والتحليل.
save_cropboolFalseيحفظ صوراً مقصوصة للاكتشافات. مفيد لتعزيز مجموعة البيانات، أو التحليل، أو إنشاء مجموعات بيانات مركزة لكائنات محددة.
show_labelsboolTrueيعرض التسميات لكل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة.
show_confboolTrueيعرض درجة الثقة لكل اكتشاف بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل اكتشاف.
show_boxesboolTrueيرسم مربعات الإحاطة (bounding boxes) حول الكائنات المكتشفة. ضروري للتعرف المرئي وتحديد موقع الكائنات في الصور أو إطارات الفيديو.
line_widthint or NoneNoneيحدد عرض خط مربعات الإحاطة. إذا كان None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح.

دليل التنبؤ

إعدادات التحقق

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

المعاملالنوعالافتراضيالوصف
datastrNoneيحدد المسار إلى ملف تكوين مجموعة البيانات (مثل coco8.yaml). يجب أن يتضمن هذا الملف المسار إلى بيانات التحقق.
imgszint640يحدد حجم صور الإدخال. يتم تغيير حجم جميع الصور إلى هذا البعد قبل المعالجة. قد تؤدي الأحجام الأكبر إلى تحسين الدقة للكائنات الصغيرة ولكنها تزيد من وقت الحساب.
batchint16يحدد عدد الصور لكل دفعة. تستخدم القيم الأعلى ذاكرة GPU بكفاءة أكبر ولكنها تتطلب المزيد من VRAM. اضبط الإعداد بناءً على موارد الأجهزة المتاحة.
save_jsonboolFalseإذا كان True، يحفظ النتائج في ملف JSON لمزيد من التحليل، أو التكامل مع أدوات أخرى، أو التقديم لخوادم التقييم مثل COCO.
conffloat0.001يحدد عتبة الثقة الدنيا للاكتشافات. القيم المنخفضة تزيد من الاستدعاء (recall) ولكن قد تؤدي إلى المزيد من الإيجابيات الكاذبة. تُستخدم أثناء التحقق لحساب منحنيات الدقة والاستدعاء.
ioufloat0.7يحدد عتبة التقاطع فوق الاتحاد لـ الكبت غير الحد الأقصى. يتحكم في إزالة الاكتشافات المكررة.
max_detint300يحد من الحد الأقصى لعدد الاكتشافات لكل صورة. مفيد في المشاهد الكثيفة لمنع الاكتشافات المفرطة وإدارة الموارد الحسابية.
halfboolFalseيُفعّل الحساب بنصف الدقة (FP16)، مما يقلل من استخدام الذاكرة وربما يزيد من السرعة مع تأثير ضئيل على الدقة.
devicestrNoneيحدد الجهاز للتحقق (cpu, cuda:0, npu, npu:0, إلخ). عند ضبطه على None، يتم اختيار أفضل جهاز متاح تلقائياً. يمكن تحديد أجهزة CUDA متعددة بفصلها بفواصل.
dnnboolFalseإذا كان True، يستخدم وحدة DNN الخاصة بـ OpenCV لاستدلال نموذج ONNX، مما يوفر بديلاً لطرق استدلال PyTorch.
plotsboolTrueعند ضبطه على True، ينشئ ويحفظ مخططات للتنبؤات مقابل الحقيقة الأرضية، ومصفوفات الارتباك، ومنحنيات PR للتقييم المرئي لأداء النموذج.
classeslist[int]Noneيحدد قائمة بمعرفات الفئات للتقييم. مفيد للتصفية والتركيز فقط على فئات معينة أثناء التقييم.
rectboolTrueإذا كان True، يستخدم الاستدلال المستطيل للدفعة، مما يقلل من الحشو وربما يزيد من السرعة والكفاءة من خلال معالجة الصور بنسبة العرض إلى الارتفاع الأصلية.
splitstr'val'يحدد تقسيم مجموعة البيانات المستخدم للتحقق (val, test, أو train). يسمح بالمرونة في اختيار جزء البيانات لتقييم الأداء.
projectstrNoneاسم دليل المشروع حيث يتم حفظ مخرجات التحقق. يساعد في تنظيم النتائج من تجارب أو نماذج مختلفة.
namestrNoneاسم تشغيل التحقق. يُستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات ومخرجات التحقق.
verboseboolTrueإذا كان True، يعرض معلومات تفصيلية أثناء عملية التحقق، بما في ذلك المقاييس لكل فئة، وتقدم الدفعة، ومعلومات إضافية لتصحيح الأخطاء.
save_txtboolFalseإذا كان True، يحفظ نتائج الاكتشاف في ملفات نصية، ملف واحد لكل صورة، مفيد لمزيد من التحليل، أو المعالجة اللاحقة المخصصة، أو التكامل مع أنظمة أخرى.
save_confboolFalseإذا كان True، يتضمن قيم الثقة في الملفات النصية المحفوظة عند تفعيل save_txt، مما يوفر مخرجات أكثر تفصيلاً للتحليل والتصفية.
workersint8عدد خيوط العمل (worker threads) لتحميل البيانات. يمكن أن تسرع القيم الأعلى من معالجة البيانات مسبقاً ولكنها قد تزيد من استخدام CPU. الضبط على 0 يستخدم الخيط الرئيسي، والذي يمكن أن يكون أكثر استقراراً في بعض البيئات.
augmentboolFalseيُفعّل التعزيز أثناء وقت الاختبار (TTA) أثناء التحقق، مما قد يحسن دقة الاكتشاف على حساب سرعة الاستدلال من خلال تشغيل الاستدلال على نسخ معدلة من المدخلات.
agnostic_nmsboolFalseيُفعّل الكبت غير الحد الأقصى المحايد للفئات، والذي يدمج المربعات المتداخلة بغض النظر عن فئتها المتوقعة. مفيد للتطبيقات التي تركز على الحالة. بالنسبة للنماذج الشاملة (YOLO26، YOLOv10)، هذا يمنع فقط ظهور نفس الاكتشاف بتسميات فئات متعددة (تكرارات IoU=1.0) ولا يقوم بكبت يعتمد على عتبة IoU بين مربعات متميزة.
single_clsboolFalseيعامل جميع الفئات كفئة واحدة أثناء التحقق. مفيد لتقييم أداء النموذج في مهام الاكتشاف الثنائي أو عندما لا تكون التمييزات بين الفئات مهمة.
visualizeboolFalseيصور الحقائق الأرضية، والإيجابيات الحقيقية، والإيجابيات الكاذبة، والسلبيات الكاذبة لكل صورة. مفيد لتصحيح الأخطاء وتفسير النموذج.
compilebool أو strFalseيُمكّن تجميع الرسم البياني لـ PyTorch 2.x torch.compile مع backend='inductor'. يقبل True"default"، False → لتعطيل، أو وضع نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى الوضع السريع (eager) مع تحذير إذا كان غير مدعوم.
end2endboolNoneيتجاوز الوضع الشامل في نماذج YOLO التي تدعم الاستدلال بدون NMS (YOLO26، YOLOv10). ضبطه على False يسمح لك بتشغيل التحقق باستخدام خط أنابيب NMS التقليدي، مما يسمح لك بالإضافة إلى ذلك باستخدام وسيطة iou.

يعد الضبط الدقيق والتجريب أمراً بالغ الأهمية لضمان الأداء الأمثل ولاكتشاف ومنع الفرط في التخصيص.

دليل التحقق

إعدادات التصدير

تتضمن إعدادات التصدير لنماذج YOLO تكوينات لحفظ أو تصدير النموذج لاستخدامه في بيئات مختلفة. تؤثر هذه الإعدادات على الأداء والحجم والتوافق. تشمل الإعدادات الرئيسية تنسيق الملف المُصدّر (مثل ONNX، TensorFlow SavedModel)، والجهاز المستهدف (مثل CPU، GPU)، وميزات مثل الأقنعة. تؤثر مهمة النموذج وقيود بيئة الوجهة على عملية التصدير أيضاً.

المعاملالنوعالافتراضيالوصف
formatstr'torchscript'التنسيق المستهدف للنموذج المُصدّر، مثل 'onnx', 'torchscript', 'engine' (TensorRT)، أو غيرها. يتيح كل تنسيق التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة (مثل 640 لـ 640×640) أو صفاً (height, width) لأبعاد محددة.
kerasboolFalseيُفعّل التصدير إلى تنسيق Keras لـ TensorFlow SavedModel، مما يوفر التوافق مع خدمة TensorFlow وواجهات البرمجة.
optimizeboolFalseيطبق التحسين للأجهزة المحمولة عند التصدير إلى TorchScript، مما قد يقلل من حجم النموذج ويحسن أداء الاستدلال. غير متوافق مع تنسيق NCNN أو أجهزة CUDA. بالنسبة لـ DeepX، فإنه يُفعّل تحسيناً أعلى للمترجم مما يقلل من تأخير الاستدلال ويزيد من وقت التجميع.
halfboolFalseيُفعّل تكميم FP16 (نصف الدقة)، مما يقلل من حجم النموذج وربما يسرع الاستدلال على الأجهزة المدعومة. غير متوافق مع تكميم INT8 أو الصادرات المعتمدة على CPU فقط. متاح فقط لتنسيقات معينة، على سبيل المثال ONNX (انظر أدناه).
int8boolFalseيُفعّل تكميم INT8، مما يزيد من ضغط النموذج ويسرع الاستدلال مع حد أدنى من فقدان الدقة، بشكل أساسي لـ أجهزة الحافة. عند استخدامه مع TensorRT، يقوم بإجراء تكميم ما بعد التدريب (PTQ).
dynamicboolFalseيسمح بأحجام إدخال ديناميكية لصادرات TorchScript، ONNX، OpenVINO، TensorRT، و CoreML، مما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة. يتم ضبطه تلقائياً على True عند استخدام TensorRT مع INT8.
simplifyboolTrueيبسط رسم بياني للنموذج لصادرات ONNX باستخدام onnxslim، مما قد يحسن الأداء والتوافق مع محركات الاستدلال.
opsetintNoneيحدد إصدار opset الخاص بـ ONNX للتوافق مع محللات ومحركات تشغيل ONNX المختلفة. إذا لم يتم ضبطه، فإنه يستخدم أحدث إصدار مدعوم.
workspacefloat أو NoneNoneيحدد الحد الأقصى لحجم مساحة العمل بـ GiB لتحسينات TensorRT، مما يوازن بين استخدام الذاكرة والأداء. استخدم None للسماح لـ TensorRT بالتخصيص التلقائي حتى الحد الأقصى للجهاز.
nmsboolFalseيضيف خاصية كبت غير الأقصى (NMS) إلى النموذج المصدر عند دعمها (انظر تنسيقات التصدير)، مما يحسن كفاءة معالجة النتائج. غير متاح للنماذج من النهاية إلى النهاية (end2end).
batchint1يحدد حجم استدلال الدفعة للنموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict. بالنسبة لتصدير Edge TPU، يتم ضبط هذا تلقائياً على 1.
devicestrNoneيحدد الجهاز لعملية التصدير: GPU (device=0)، أو CPU (device=cpu)، أو MPS لأجهزة Apple silicon (device=mps)، أو Huawei Ascend NPU (device=npu أو device=npu:0)، أو DLA لـ NVIDIA Jetson (device=dla:0 أو device=dla:1). تستخدم عمليات تصدير TensorRT الـ GPU تلقائياً.
datastr'coco8.yaml'مسار ملف تكوين مجموعة البيانات، وهو ضروري لمعايرة تكميم INT8. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام coco8.yaml كخيار افتراضي للمعايرة.
fractionfloat1.0يحدد جزء من مجموعة البيانات لاستخدامه في معايرة تكميم INT8. يسمح بالمعايرة على مجموعة فرعية من كامل مجموعة البيانات، وهو مفيد للتجارب أو عند محدودية الموارد. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام مجموعة البيانات الكاملة.
end2endboolNoneيتجاوز وضع النهاية إلى النهاية (end-to-end) في نماذج YOLO التي تدعم الاستدلال بدون NMS (مثل YOLO26، YOLOv10). ضبطه على False يسمح بتصدير هذه النماذج لتكون متوافقة مع خط معالجة النتائج التقليدي القائم على NMS. راجع دليل الكشف من النهاية إلى النهاية لمزيد من التفاصيل.

التكوين المدروس يضمن تحسين النموذج المصدر لحالة استخدامه وأنه يعمل بفعالية في البيئة المستهدفة.

دليل التصدير

إعدادات الحلول

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

المعاملالنوعالافتراضيالوصف
modelstrNoneمسار لملف نموذج Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'قائمة النقاط التي تحدد منطقة العد.
show_inboolTrueعلامة للتحكم في عرض أعداد الداخل على دفق الفيديو.
show_outboolTrueعلامة للتحكم في عرض أعداد الخارج على دفق الفيديو.
analytics_typestr'line'نوع الرسم البياني، مثل line أو bar أو area أو pie.
colormapintcv2.COLORMAP_DEEPGREENخريطة الألوان المستخدمة للرسم الحراري.
json_filestrNoneمسار ملف JSON الذي يحتوي على جميع بيانات إحداثيات مواقف السيارات.
up_anglefloat145.0عتبة الزاوية لوضع 'الأعلى'.
kptslist[int]'[6, 8, 10]'قائمة من ثلاثة مؤشرات للنقاط الرئيسية المستخدمة لمراقبة التمارين. تتوافق هذه النقاط الرئيسية مع مفاصل أو أجزاء الجسم، مثل الكتفين، المرفقين، والمعصمين، لتمارين مثل الضغط، العقلة، القرفصاء، وتمارين البطن.
down_angleint90عتبة الزاوية لوضع 'الأسفل'.
blur_ratiofloat0.5يضبط نسبة كثافة التمويه، بقيم تتراوح بين 0.1 - 1.0.
crop_dirstr'cropped-detections'اسم المجلد لتخزين الاكتشافات المقصوصة.
recordsint5إجمالي عدد الاكتشافات لتشغيل بريد إلكتروني بنظام إنذار أمني.
vision_pointtuple[int, int](20, 20)النقطة التي ستتتبع عندها الرؤية الأشياء وترسم المسارات باستخدام حل VisionEye.
sourcestrNoneمسار مصدر الإدخال (فيديو، RTSP، إلخ). قابل للاستخدام فقط مع واجهة سطر أوامر الحلول (CLI).
figsizetuple[int, int](12.8, 7.2)حجم الشكل لمخططات التحليلات مثل الخرائط الحرارية أو الرسوم البيانية.
fpsfloat30.0عدد الإطارات في الثانية المستخدم لحسابات السرعة.
max_histint5الحد الأقصى للنقاط التاريخية لتتبعها لكل كائن من أجل حسابات السرعة/الاتجاه.
meter_per_pixelfloat0.05عامل القياس المستخدم لتحويل مسافة البكسل إلى وحدات العالم الحقيقي.
max_speedint120حد السرعة الأقصى في التراكبات المرئية (المستخدمة في التنبيهات).
datastr'images'مسار مجلد الصور المستخدم للبحث عن التشابه.

دليل الحلول

إعدادات الزيادة (Augmentation)

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

المعاملالنوعالافتراضيالمهام المدعومةالنطاقالوصف
hsv_hfloat0.015detect, segment, pose, obb, classify0.0 - 1.0يعدل درجة اللون في الصورة بجزء من عجلة الألوان، مما يقدم تباينًا في الألوان. يساعد النموذج على التعميم عبر ظروف الإضاءة المختلفة.
hsv_sfloat0.7detect, segment, pose, obb, classify0.0 - 1.0يغير تشبع الصورة بجزء، مما يؤثر على كثافة الألوان. مفيد لمحاكاة ظروف بيئية مختلفة.
hsv_vfloat0.4detect, segment, pose, obb, classify0.0 - 1.0يعدل القيمة (السطوع) للصورة بجزء، مما يساعد النموذج على الأداء الجيد في ظل ظروف إضاءة متنوعة.
degreesfloat0detect, segment, pose, obb0.0 - 180يدور الصورة عشوائياً ضمن نطاق الدرجات المحدد، مما يحسن قدرة النموذج على التعرف على الأشياء في اتجاهات مختلفة.
translatefloat0.1detect, segment, pose, obb0.0 - 1.0ينقل الصورة أفقياً ورأسياً بجزء من حجم الصورة، مما يساعد في تعلم اكتشاف الأشياء المرئية جزئياً.
scalefloat0.5detect, segment, pose, obb, classify0 - 1يغير مقياس الصورة بعامل كسب، لمحاكاة الأشياء على مسافات مختلفة من الكاميرا.
shearfloat0detect, segment, pose, obb-180 - +180يميل الصورة بزاوية محددة، لمحاكاة تأثير رؤية الأشياء من زوايا مختلفة.
perspectivefloat0detect, segment, pose, obb0.0 - 0.001يطبق تحويلاً منظورياً عشوائياً على الصورة، مما يعزز قدرة النموذج على فهم الأشياء في الفضاء ثلاثي الأبعاد.
flipudfloat0detect, segment, pose, obb, classify0.0 - 1.0يعكس الصورة رأساً على عقب بالاحتمالية المحددة، مما يزيد من تباين البيانات دون التأثير على خصائص الكائن.
fliplrfloat0.5detect, segment, pose, obb, classify0.0 - 1.0يعكس الصورة من اليسار إلى اليمين بالاحتمالية المحددة، وهو مفيد لتعلم الكائنات المتناظرة وزيادة تنوع مجموعة البيانات.
bgrfloat0detect, segment, pose, obb0.0 - 1.0يعكس قنوات الصورة من RGB إلى BGR بالاحتمالية المحددة، وهو مفيد لزيادة المتانة ضد ترتيب القنوات غير الصحيح.
mosaicfloat1detect, segment, pose, obb0.0 - 1.0يدمج أربع صور تدريب في صورة واحدة، مما يحاكي تكوينات مشهد مختلفة وتفاعلات الكائنات. فعال للغاية لفهم المشاهد المعقدة.
mixupfloat0detect, segment, pose, obb0.0 - 1.0يمزج صورتين وتسمياتهما، مما ينشئ صورة مركبة. يعزز قدرة النموذج على التعميم من خلال إدخال ضجيج التسمية والتباين البصري.
cutmixfloat0detect, segment, pose, obb0.0 - 1.0يدمج أجزاءً من صورتين، مما ينشئ مزيجاً جزئياً مع الحفاظ على مناطق مميزة. يعزز متانة النموذج من خلال إنشاء سيناريوهات حجب.
copy_pastefloat0segment0.0 - 1.0ينسخ ويلصق الكائنات عبر الصور لزيادة تكرارات الكائنات.
copy_paste_modestrflipsegment-يحدد استراتيجية copy-paste المستخدمة. تشمل الخيارات 'flip' و 'mixup'.
auto_augmentstrrandaugmentclassify-يطبق سياسة تعزيز محددة مسبقاً ('randaugment', 'autoaugment', أو 'augmix') لتعزيز أداء النموذج من خلال التنوع البصري.
erasingfloat0.4classify0.0 - 1.0يمسح مناطق من الصورة عشوائياً أثناء التدريب لتشجيع النموذج على التركيز على السمات الأقل وضوحاً.
augmentationslist``detect, segment, pose, obb-تحويلات Albumentations مخصصة لتعزيز البيانات المتقدم (Python API فقط). يقبل قائمة من كائنات التحويل لاحتياجات التعزيز المتخصصة.

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

دليل التعزيز

إعدادات التسجيل ونقاط التحقق والتخطيط

يعد التسجيل ونقاط التحقق والتخطيط وإدارة الملفات أموراً مهمة عند تدريب نموذج YOLO:

  • التسجيل: تتبع تقدم النموذج وتشخيص المشكلات باستخدام مكتبات مثل TensorBoard أو الكتابة في ملف.
  • نقاط التحقق: احفظ النموذج على فترات منتظمة لاستئناف التدريب أو التجربة بإعدادات مختلفة.
  • التخطيط: تصور الأداء وتقدم التدريب باستخدام مكتبات مثل Matplotlib أو TensorBoard.
  • إدارة الملفات: نظم الملفات التي يتم إنشاؤها أثناء التدريب، مثل نقاط التحقق وملفات السجل والمخططات، لتسهيل الوصول إليها وتحليلها.

الإدارة الفعالة لهذه الجوانب تساعد في تتبع التقدم وتجعل تصحيح الأخطاء والتحسين أسهل.

المعاملالافتراضيالوصف
project'runs'يحدد المجلد الجذر لحفظ عمليات التدريب. يتم حفظ كل عملية في مجلد فرعي منفصل.
name'exp'يحدد اسم التجربة. إذا لم يتم تحديده، يقوم YOLO بزيادة هذا الاسم لكل عملية (مثلاً: exp, exp-2) لتجنب الكتابة فوق البيانات.
exist_okFalseيحدد ما إذا كان سيتم الكتابة فوق مجلد تجربة موجود. True يسمح بالكتابة فوقه؛ False يمنع ذلك.
plotsTrueيتحكم في إنشاء وحفظ مخططات التدريب والتحقق. اضبطه على True لإنشاء مخططات مثل منحنيات الخسارة، ومنحنيات precision-recall، وعينات التنبؤ للتتبع البصري للأداء.
saveTrueيمكن حفظ نقاط التحقق للتدريب وأوزان النموذج النهائية. اضبطه على True لحفظ حالات النموذج بشكل دوري، مما يسمح باستئناف التدريب أو نشر النموذج.

ملف تهيئة مخصص

قم بتحميل YAML محفوظ لإعادة استخدام مجموعة كاملة من الوسائط دون تمريرها مضمنة. وسيط cfg يتجاوز القيم من default.yaml، بينما تظل الوسائط الإضافية الممررة جنباً إلى جنب لها الأسبقية.

المعاملالافتراضيالوصف
cfgNoneمسار إلى ملف YAML الذي تحل قيمه محل إدخالات default.yaml. راجع تجاوز ملف التهيئة الافتراضي للحصول على مثال CLI عملي.

أسئلة شائعة

كيف يمكنني تحسين أداء نموذج YOLO الخاص بي أثناء التدريب؟

حسن الأداء عن طريق ضبط المعلمات الفائقة مثل batch size، وlearning rate، والزخم، وتضاؤل الوزن. اضبط إعدادات data augmentation، واختر المُحسِّن الصحيح، واستخدم تقنيات مثل التوقف المبكر أو mixed precision. للحصول على التفاصيل، راجع دليل التدريب.

ما هي المعلمات الفائقة الرئيسية لدقة نموذج YOLO؟

تشمل المعلمات الفائقة الرئيسية التي تؤثر على الدقة ما يلي:

  • حجم الدفعة (batch): الأحجام الأكبر يمكن أن تحقق استقراراً في التدريب ولكنها تتطلب ذاكرة أكبر.
  • معدل التعلم (lr0): المعدلات الأصغر توفر تعديلات دقيقة ولكن تقارباً أبطأ.
  • الزخم (momentum): يسرع متجهات التدرج، مما يقلل من التذبذبات.
  • حجم الصورة (imgsz): الأحجام الأكبر تحسن الدقة ولكنها تزيد من الحمل الحسابي.

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

كيف يمكنني تعيين معدل التعلم لتدريب نموذج YOLO؟

معدل التعلم (lr0) أمر بالغ الأهمية؛ ابدأ بـ 0.01 لـ SGD أو 0.001 لـ Adam optimizer. راقب المقاييس واضبطها حسب الحاجة. استخدم مجدولات معدل التعلم الجيبية (cos_lr) أو الإحماء (warmup_epochs, warmup_momentum). التفاصيل موجودة في دليل التدريب.

ما هي إعدادات الاستدلال الافتراضية لنماذج YOLO؟

تشمل الإعدادات الافتراضية ما يلي:

  • عتبة الثقة (conf=0.25): الحد الأدنى من الثقة للاكتشافات.
  • عتبة IoU (iou=0.7): لـ Non-Maximum Suppression (NMS).
  • حجم الصورة (imgsz=640): يعيد تغيير حجم الصور المدخلة.
  • الجهاز (device=None): يختار CPU، GPU، Apple MPS أو Huawei Ascend NPU (npu).

للحصول على نظرة عامة كاملة، راجع إعدادات التنبؤ ودليل التنبؤ.

لماذا نستخدم التدريب بالدقة المختلطة مع نماذج YOLO؟

التدريب بـ Mixed precision (amp=True) يقلل من استخدام الذاكرة ويسرع التدريب باستخدام FP16 و FP32. إنه مفيد لوحدات معالجة الرسومات الحديثة، مما يسمح بنماذج أكبر وحسابات أسرع دون فقدان كبير في الدقة. تعلم المزيد في دليل التدريب.

تعليقات