الإعدادات

تلعب إعدادات 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 تنفيذ مجموعة متنوعة من مهام الرؤية الحاسوبية، بما في ذلك:

  • Detect: يقوم Object detection بتحديد وتعيين مواقع الكائنات داخل صورة أو مقطع فيديو.
  • Segment: يقوم Instance segmentation بتقسيم صورة أو مقطع فيديو إلى مناطق تتوافق مع كائنات أو فئات مختلفة.
  • Classify: يتنبأ Image classification بتسمية فئة صورة الإدخال.
  • Pose: يقوم Pose estimation بتحديد الكائنات وتقدير نقاطها الرئيسية في صورة أو مقطع فيديو.
  • OBB: تستخدم Oriented Bounding Boxes مربعات إحاطة مدارة، وهي مناسبة لصور الأقمار الصناعية أو الصور الطبية.
المعاملالافتراضيالوصف
task'detect'يحدد مهمة YOLO: detect لـ object detection، وsegment للتجزئة، وclassify للتصنيف، وpose لتقدير الوضعية، وobb لمربعات الإحاطة المدارة. تم تصميم كل مهمة لتناسب مخرجات ومشكلات محددة في تحليل الصور والفيديو.

دليل المهام

الأنماط

تعمل نماذج 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 معاملات فائقة وتكوينات تؤثر على أداء النموذج وسرعته ودِقته. تشمل الإعدادات الرئيسية batch size، وlearning rate، والزخم (momentum)، واضمحلال الوزن (weight decay). كما يؤثر اختيار المُحسن (optimizer)، وloss function، وتكوين مجموعة البيانات على التدريب. الضبط والتجريب أمران حاسمان لتحقيق الأداء الأمثل. لمزيد من التفاصيل، راجع دالة نقطة دخول Ultralytics.

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

يوفر معامل 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 أو tuple640Letterbox target. An integer gives a square N×N; a tuple gives (height, width). With rect=True, the actual tensor may be smaller than this target due to minimum-rectangle padding. Use rect=False for a fixed size. See Fixed shape vs minimum rectangle.
rectboolTrueإذا كانت True، استخدم حشوة المستطيل الأدنى عندما يكون ذلك ممكناً (دفعة بنفس الشكل وواجهة خلفية مدعومة). إذا كانت False، قم دائماً بالحشو إلى imgsz الكامل. انظر الشكل الثابت مقابل المستطيل الأدنى.
halfboolFalseيُفعل الاستدلال بنصف الدقة (FP16)، مما يمكن أن يسرع استدلال النموذج على وحدات GPU المدعومة مع تأثير ضئيل على الدقة.
devicestrNoneيحدد الجهاز للاستدلال (مثلاً cpu، cuda:0، 0، npu أو npu:0). يسمح للمستخدمين بالاختيار بين CPU، أو GPU محدد، أو Huawei Ascend NPU، أو أجهزة حوسبة أخرى لتنفيذ النموذج.
batchint1يحدد حجم الدفعة للاستدلال (يعمل فقط عندما يكون المصدر دليلاً، أو ملف فيديو، أو ملف .txt). يمكن أن يوفر حجم الدفعة الأكبر إنتاجية أعلى، مما يقلل الوقت الإجمالي المطلوب للاستدلال.
max_detint300الحد الأقصى لعدد الاكتشافات المسموح به لكل صورة. يحد من العدد الإجمالي للكائنات التي يمكن للنموذج اكتشافها في استنتاج واحد، مما يمنع المخرجات المفرطة في المشاهد المزدحمة.
vid_strideint1خطوة الإطار لمدخلات الفيديو. تسمح بتخطي الإطارات في مقاطع الفيديو لتسريع المعالجة على حساب الدقة الزمنية. القيمة 1 تعالج كل إطار، والقيم الأعلى تتخطى الإطارات.
stream_bufferboolFalseيحدد ما إذا كان يجب وضع الإطارات الواردة في طابور لتدفقات الفيديو. إذا كانت القيمة False، يتم إسقاط الإطارات القديمة لاستيعاب الإطارات الجديدة (محسّن للتطبيقات في الوقت الفعلي). إذا كانت القيمة True، يتم وضع الإطارات الجديدة في مخزن مؤقت، مما يضمن عدم تخطي أي إطارات، ولكنه سيؤدي إلى زمن انتقال إذا كان معدل الإطارات في الاستنتاج أقل من معدل إطارات التدفق.
visualizeboolFalseيفعل تصور ميزات النموذج أثناء الاستنتاج، مما يوفر رؤى حول ما "يراه" النموذج. مفيد لتصحيح الأخطاء وتفسير النموذج.
augmentboolFalseيفعل زيادة وقت الاختبار (TTA) للتنبؤات، مما قد يحسن من قوة الاكتشاف على حساب سرعة الاستنتاج.
agnostic_nmsboolFalseيفعل قمع النطاق غير الأقصى (NMS) غير المرتبط بالفئة، والذي يدمج الصناديق المتداخلة من فئات مختلفة. مفيد في سيناريوهات الاكتشاف متعدد الفئات حيث يكون تداخل الفئات شائعًا. بالنسبة للنماذج الشاملة (YOLO26، YOLOv10)، يمنع هذا فقط ظهور نفس الاكتشاف بتسميات فئات متعددة (تكرارات IoU=1.0) ولا يؤدي إلى قمع قائم على عتبة IoU بين الصناديق المميزة.
classeslist[int]Noneيقوم بتصفية التنبؤات إلى مجموعة من معرفات الفئات. سيتم إرجاع الاكتشافات التي تنتمي إلى الفئات المحددة فقط. مفيد للتركيز على الكائنات ذات الصلة في مهام الاكتشاف متعددة الفئات.
retina_masksboolFalseيرجع أقنعة تجزئة عالية الدقة. ستطابق الأقنعة المرجعة (masks.data) حجم الصورة الأصلي إذا تم تفعيل هذا الخيار. إذا تم تعطيله، فسيكون لها حجم الصورة المستخدم أثناء الاستنتاج.
embedlist[int]Noneيحدد الطبقات التي سيتم استخراج متجهات الميزات أو التضمينات منها. مفيد للمهام اللاحقة مثل التجميع أو البحث عن التشابه.
projectstrNoneاسم دليل المشروع حيث يتم حفظ مخرجات التنبؤ إذا تم تفعيل save.
namestrNoneاسم تشغيل التنبؤ. يستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين مخرجات التنبؤ إذا تم تفعيل save.
streamboolFalseيفعل معالجة فعالة للذاكرة لمقاطع الفيديو الطويلة أو الصور العديدة عن طريق إرجاع مولد لكائنات النتائج بدلاً من تحميل جميع الإطارات في الذاكرة دفعة واحدة.
verboseboolTrueيتحكم فيما إذا كان سيتم عرض سجلات الاستنتاج التفصيلية في الطرفية، مما يوفر تعليقات فورية حول عملية التنبؤ.
compilebool or strFalseيُفعل تجميع الرسوم البيانية لـ PyTorch 2.x torch.compile باستخدام backend='inductor'. يقبل True"default"، False → للتعطيل، أو وضع نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى التنفيذ الفوري مع تحذير إذا كان غير مدعوم.
end2endboolNoneيتجاوز الوضع الشامل في نماذج 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يرسم صناديق إحاطة حول الكائنات المكتشفة. ضروري للتعرف المرئي وتحديد موقع الكائنات في الصور أو إطارات الفيديو.
line_widthint or NoneNoneيحدد عرض خط صناديق الإحاطة. إذا كانت القيمة None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح.

دليل التنبؤ

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

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

المعاملالنوعالافتراضيالوصف
datastrNoneيحدد مسار ملف تكوين مجموعة البيانات (مثل coco8.yaml). يجب أن يتضمن هذا الملف مسار بيانات التحقق.
imgszint640يحدد حجم صور الإدخال. يتم تغيير حجم جميع الصور إلى هذا البعد قبل المعالجة. قد تؤدي الأحجام الأكبر إلى تحسين الدقة للكائنات الصغيرة ولكنها تزيد من وقت الحوسبة.
batchint16يحدد عدد الصور لكل دفعة. تستخدم القيم الأعلى ذاكرة GPU بكفاءة أكبر ولكنها تتطلب المزيد من VRAM. اضبطها بناءً على موارد الأجهزة المتاحة.
save_jsonboolFalseإذا كانت القيمة True، يتم حفظ النتائج في ملف JSON لمزيد من التحليل، أو التكامل مع أدوات أخرى، أو الإرسال إلى خوادم التقييم مثل COCO.
conffloat0.001يحدد عتبة الثقة الدنيا للاكتشافات. تزيد القيم المنخفضة من الاستدعاء ولكنها قد تقدم المزيد من النتائج الإيجابية الكاذبة. تستخدم أثناء التحقق لحساب منحنيات الدقة والاستدعاء.
ioufloat0.7يحدد عتبة التقاطع فوق الاتحاد لـ قمع النطاق غير الأقصى. يتحكم في القضاء على الاكتشاف المكرر.
max_detint300يحد من الحد الأقصى لعدد الاكتشافات لكل صورة. مفيد في المشاهد المزدحمة لمنع الاكتشافات المفرطة وإدارة الموارد الحسابية.
halfboolFalseيفعل حوسبة نصف الدقة (FP16)، مما يقلل من استخدام الذاكرة وربما يزيد السرعة مع تأثير ضئيل على الدقة.
devicestrNoneيحدد الجهاز للتحقق (cpu، cuda:0، npu، npu:0، إلخ). عندما تكون القيمة None، يتم تحديد أفضل جهاز متاح تلقائياً. يمكن تحديد أجهزة CUDA متعددة بفصلها بفاصلة.
dnnboolFalseإذا كانت القيمة True، يتم استخدام وحدة OpenCV DNN لاستنتاج نموذج 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عدد سلاسل العمليات المخصصة لتحميل البيانات. يمكن أن تؤدي القيم الأعلى إلى تسريع المعالجة الأولية للبيانات ولكنها قد تزيد من استخدام CPU. الضبط على 0 يستخدم السلسلة الرئيسية، والتي يمكن أن تكون أكثر استقراراً في بعض البيئات.
augmentboolFalseيفعل زيادة وقت الاختبار (TTA) أثناء التحقق، مما قد يحسن دقة الاكتشاف على حساب سرعة الاستنتاج من خلال تشغيل الاستنتاج على إصدارات محولة من المدخلات.
agnostic_nmsboolFalseيفعل قمع النطاق غير الأقصى غير المرتبط بالفئة، والذي يدمج الصناديق المتداخلة بغض النظر عن فئتها المتوقعة. مفيد للتطبيقات التي تركز على الحالات الفردية. بالنسبة للنماذج الشاملة (YOLO26، YOLOv10)، يمنع هذا فقط ظهور نفس الاكتشاف بتسميات فئات متعددة (تكرارات IoU=1.0) ولا يؤدي إلى قمع قائم على عتبة IoU بين الصناديق المميزة.
single_clsboolFalseيعامل جميع الفئات كفئة واحدة أثناء التحقق. مفيد لتقييم أداء النموذج في مهام الاكتشاف الثنائي أو عندما لا تكون تمييزات الفئات مهمة.
visualizeboolFalseيتصور الحقائق الأرضية، والإيجابيات الحقيقية، والإيجابيات الكاذبة، والسلبيات الكاذبة لكل صورة. مفيد لتصحيح الأخطاء وتفسير النموذج.
compilebool or strFalseيُفعل تجميع الرسوم البيانية لـ PyTorch 2.x torch.compile باستخدام backend='inductor'. يقبل True"default"، False → للتعطيل، أو وضع نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى التنفيذ الفوري مع تحذير إذا كان غير مدعوم.
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يحدد إصدار ONNX opset للتوافق مع محللات ومحركات 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يتجاوز وضع النهاية إلى النهاية في نماذج 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'مسار إلى دليل الصور المستخدم للبحث عن التشابه.

دليل الحلول

إعدادات التعزيز

تعد تقنيات تعزيز البيانات ضرورية لتحسين قوة وأداء نموذج 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:

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

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

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

ملف التكوين المخصص

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

التعليقات