الإعدادات
تلعب إعدادات YOLO والمعاملات الفائقة دوراً حاسماً في أداء النموذج وسرعته ودِقته. يمكن أن تؤثر هذه الإعدادات على سلوك النموذج في مراحل مختلفة، بما في ذلك التدريب، والتحقق، والتنبؤ.
Watch: Mastering Ultralytics YOLO: Configuration
تستخدم أوامر Ultralytics الصيغة التالية:
yolo TASK MODE ARGSحيث:
TASK(اختياري) هو واحد من (detect, segment, classify, pose, obb)MODE(مطلوب) هو واحد من (train, val, predict, export, track, benchmark)ARGS(اختيارية) هي أزواجarg=valueمثلimgsz=640التي تتجاوز القيم الافتراضية.
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.
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | يحدد ملف النموذج للتدريب. يقبل مساراً إما لنموذج مدرب مسبقاً بصيغة .pt أو ملف تكوين بصيغة .yaml. ضروري لتحديد هيكل النموذج أو تهيئة الأوزان. |
data | str | None | مسار ملف تكوين مجموعة البيانات (مثل coco8.yaml). يحتوي هذا الملف على معاملات خاصة بمجموعة البيانات، بما في ذلك مسارات التدريب وبيانات التحقق، وأسماء الفئات، وعدد الفئات. |
epochs | int | 100 | إجمالي عدد دورات التدريب (epochs). تمثل كل epoch تمريرة كاملة على مجموعة البيانات بأكملها. يمكن أن يؤدي تعديل هذه القيمة إلى التأثير على مدة التدريب وأداء النموذج. |
time | float | None | أقصى وقت تدريب بالساعات. إذا تم تعيينه، فإنه يتجاوز معامل epochs، مما يسمح للتدريب بالتوقف تلقائياً بعد المدة المحددة. مفيد لسيناريوهات التدريب المقيدة زمنياً. |
patience | int | 100 | عدد الدورات التي يجب انتظارها دون تحسن في مقاييس التحقق قبل إيقاف التدريب مبكراً. يساعد في منع overfitting عن طريق إيقاف التدريب عندما يستقر الأداء. |
batch | int or float | 16 | Batch size، مع ثلاثة أنماط: التعيين كعدد صحيح (مثل batch=16)، أو النمط التلقائي لاستخدام 60% من ذاكرة GPU (batch=-1)، أو النمط التلقائي مع كسر استخدام محدد (batch=0.70). |
imgsz | int | 640 | حجم الصورة المستهدف للتدريب. يتم تغيير حجم الصور إلى مربعات ذات جوانب مساوية للقيمة المحددة (إذا كان rect=False)، مع الحفاظ على نسبة العرض إلى الارتفاع لنماذج YOLO ولكن ليس RT-DETR. يؤثر على دقة النموذج والتعقيد الحسابي. |
save | bool | True | تمكين حفظ نقاط فحص التدريب وأوزان النموذج النهائية. مفيد لاستئناف التدريب أو نشر النموذج. |
save_period | int | -1 | تكرار حفظ نقاط فحص النموذج، محدد بالدورات (epochs). قيمة -1 تعطل هذه الميزة. مفيد لحفظ النماذج المؤقتة خلال جلسات التدريب الطويلة. |
cache | bool | False | تمكين التخزين المؤقت لصور مجموعة البيانات في الذاكرة (True/ram)، أو على القرص (disk)، أو تعطيله (False). يحسن سرعة التدريب عن طريق تقليل الإدخال/الإخراج من القرص على حساب زيادة استخدام الذاكرة. |
device | int or str or list | None | يحدد الجهاز (الأجهزة) الحسابية للتدريب: 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]) |
workers | int | 8 | عدد سلاسل العمليات (threads) لتحميل البيانات (لكل RANK في حالة التدريب متعدد وحدات GPU). يؤثر على سرعة معالجة البيانات وإدخالها إلى النموذج، وهو مفيد بشكل خاص في إعدادات وحدات GPU المتعددة. |
project | str | None | اسم دليل المشروع حيث يتم حفظ مخرجات التدريب. يسمح بتخزين منظم للتجارب المختلفة. |
name | str | None | اسم تشغيل التدريب. يُستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات التدريب والمخرجات. |
exist_ok | bool | False | إذا كان True، فإنه يسمح بالكتابة فوق دليل مشروع/اسم موجود. مفيد للتجارب التكرارية دون الحاجة إلى مسح المخرجات السابقة يدوياً. |
pretrained | bool or str | True | يحدد ما إذا كان يجب بدء التدريب من أوزان مدربة مسبقاً. يمكن أن يكون قيمة منطقية أو مساراً نصياً للأوزان لتحميلها. pretrained=False يدرب من أوزان مهيأة عشوائياً مع الحفاظ على هيكل النموذج. |
optimizer | str | 'auto' | اختيار المُحسن (optimizer) للتدريب. تشمل الخيارات SGD، وMuSGD، وAdam، وAdamax، وAdamW، وNAdam، وRAdam، وRMSProp، أو auto للاختيار التلقائي بناءً على تكوين النموذج. يؤثر على سرعة التقارب والاستقرار. |
seed | int | 0 | يعين البذرة العشوائية (random seed) للتدريب، مما يضمن تكرارية النتائج عبر التشغيلات بنفس التكوينات. |
deterministic | bool | True | يفرض استخدام خوارزمية حتمية، مما يضمن التكرارية ولكنه قد يؤثر على الأداء والسرعة بسبب القيود المفروضة على الخوارزميات غير الحتمية. |
verbose | bool | True | تمكين المخرجات المفصلة أثناء التدريب، لعرض أشرطة التقدم، ومقاييس كل دورة، ومعلومات تدريب إضافية في وحدة التحكم. |
single_cls | bool | False | يعامل جميع الفئات في مجموعات البيانات متعددة الفئات كفئة واحدة أثناء التدريب. مفيد لمهام التصنيف الثنائي أو عند التركيز على وجود الكائنات بدلاً من التصنيف. |
classes | list[int] | None | يحدد قائمة بمعرفات الفئات للتدريب عليها. مفيد لتصفية والتركيز فقط على فئات معينة أثناء التدريب. |
rect | bool | False | تمكين استراتيجية الحشو الدنيا—يتم حشو الصور في الدفعة (batch) بالحد الأدنى للوصول إلى حجم مشترك، مع تساوي الجانب الأطول مع imgsz. يمكن أن يحسن الكفاءة والسرعة ولكنه قد يؤثر على دقة النموذج. |
multi_scale | float | 0.0 | تغيير imgsz عشوائياً في كل دفعة بمقدار +/- multi_scale (مثال 0.25 -> 0.75x إلى 1.25x)، مع التقريب إلى مضاعفات خطوة النموذج (stride)؛ 0.0 يعطل التدريب متعدد المقاييس. |
cos_lr | bool | False | استخدام مجدول جيب تمام learning rate، مع تعديل معدل التعلم باتباع منحنى جيب تمام عبر الدورات. يساعد في إدارة معدل التعلم لتحقيق تقارب أفضل. |
close_mosaic | int | 10 | يعطل تعزيز البيانات بنمط الفسيفساء في آخر N حقبة (epochs) لتعزيز استقرار التدريب قبل الاكتمال. تعيين القيمة إلى 0 يعطل هذه الميزة. |
resume | bool | False | يستأنف التدريب من آخر نقطة تفتيش (checkpoint) تم حفظها. يقوم تلقائيًا بتحميل أوزان النموذج وحالة المحسن وعدد الحقب، ليتابع التدريب بسلاسة. |
amp | bool | True | يُفعل التدريب باستخدام الدقة المختلطة التلقائية (AMP)، مما يقلل من استخدام الذاكرة وربما يسرع عملية التدريب مع تأثير ضئيل على الدقة. |
fraction | float | 1.0 | يحدد جزءاً من مجموعة البيانات المراد استخدامه للتدريب. يسمح بالتدريب على مجموعة فرعية من مجموعة البيانات الكاملة، وهو مفيد للتجارب أو عند محدودية الموارد. |
profile | bool | False | يُفعل تحليل أداء سرعات ONNX و TensorRT أثناء التدريب، وهو مفيد لتحسين نشر النموذج. |
freeze | int أو list | None | يجمد أول N طبقة من النموذج أو الطبقات المحددة بواسطة الفهرس، مما يقلل من عدد المعلمات القابلة للتدريب. مفيد للضبط الدقيق (fine-tuning) أو التعلم بنقل المعرفة. |
lr0 | float | 0.01 | معدل التعلم الأولي (مثل SGD=1E-2, Adam=1E-3). يعد تعديل هذه القيمة أمراً بالغ الأهمية لعملية التحسين، حيث يؤثر على سرعة تحديث أوزان النموذج. |
lrf | float | 0.01 | معدل التعلم النهائي كجزء من المعدل الأولي = (lr0 * lrf)، ويستخدم بالتزامن مع المجدولات (schedulers) لضبط معدل التعلم بمرور الوقت. |
momentum | float | 0.937 | معامل الزخم (momentum) لـ SGD أو beta1 لـ محسنات Adam، مما يؤثر على دمج التدرجات السابقة في التحديث الحالي. |
weight_decay | float | 0.0005 | مصطلح التنظيم من نوع L2، والذي يعاقب الأوزان الكبيرة لمنع الإفراط في التخصيص (overfitting). |
warmup_epochs | float | 3.0 | عدد حقب الإحماء (warmup) لمعدل التعلم، حيث يتم رفع معدل التعلم تدريجياً من قيمة منخفضة إلى معدل التعلم الأولي لاستقرار التدريب في بدايته. |
warmup_momentum | float | 0.8 | الزخم الأولي لمرحلة الإحماء، والذي يتم تعديله تدريجياً ليصل إلى الزخم المحدد خلال فترة الإحماء. |
warmup_bias_lr | float | 0.1 | معدل التعلم لمعلمات الانحياز (bias parameters) أثناء مرحلة الإحماء، مما يساعد في استقرار تدريب النموذج في الحقب الأولى. |
box | float | 7.5 | وزن مكون خسارة الصندوق في دالة الخسارة، مما يؤثر على مدى التركيز الموضوع على التنبؤ الدقيق بإحداثيات صندوق الإحاطة. |
cls | float | 0.5 | وزن خسارة التصنيف في إجمالي دالة الخسارة، مما يؤثر على أهمية التنبؤ الصحيح بالفئة بالنسبة للمكونات الأخرى. |
cls_pw | float | 0.0 | قوة ترجيح الفئة للتعامل مع عدم توازن الفئات باستخدام التردد العكسي للفئة. تعطل القيمة 0.0 ترجيح الفئة، وتطبق القيمة 1.0 ترجيح التردد العكسي الكامل. توفر القيم بين 0 و 1 ترجيحاً جزئياً. |
dfl | float | 1.5 | وزن خسارة التوزيع البؤرية (distribution focal loss)، المستخدمة في إصدارات معينة من YOLO للتصنيف الدقيق. |
pose | float | 12.0 | وزن خسارة الوضعية في النماذج المدربة لتقدير الوضعية، مما يؤثر على التركيز على التنبؤ الدقيق بنقاط مفصل الوضعية. |
kobj | float | 1.0 | وزن خسارة كائنية النقاط الرئيسية في نماذج تقدير الوضعية، مما يوازن بين ثقة الكشف ودقة الوضعية. |
rle | float | 1.0 | وزن خسارة تقدير احتمالية اللوغاريتم المتبقي في نماذج تقدير الوضعية، مما يؤثر على دقة تحديد مواقع النقاط الرئيسية. |
angle | float | 1.0 | وزن خسارة الزاوية في نماذج obb، مما يؤثر على دقة تنبؤات زاوية صندوق الإحاطة الموجه. |
nbs | int | 64 | حجم الدفعة (batch size) الاسمي لتطبيع الخسارة. |
overlap_mask | bool | True | يحدد ما إذا كان يجب دمج أقنعة الكائنات في قناع واحد للتدريب، أو إبقاؤها منفصلة لكل كائن. في حالة التداخل، يتم تراكب القناع الأصغر فوق القناع الأكبر أثناء الدمج. |
mask_ratio | int | 4 | نسبة التقليل (downsample) لأقنعة التجزئة، مما يؤثر على دقة الأقنعة المستخدمة أثناء التدريب. |
dropout | float | 0.0 | معدل الإسقاط (dropout) للتنظيم في مهام التصنيف، مما يمنع الإفراط في التخصيص عن طريق حذف الوحدات عشوائياً أثناء التدريب. |
val | bool | True | يُفعل التحقق أثناء التدريب، مما يسمح بالتقييم الدوري لأداء النموذج على مجموعة بيانات منفصلة. |
plots | bool | True | يُنشئ ويحفظ مخططات مقاييس التدريب والتحقق، بالإضافة إلى أمثلة التنبؤ، مما يوفر رؤى مرئية حول أداء النموذج وتقدم التعلم. |
compile | bool or str | False | يُفعل تجميع الرسوم البيانية لـ PyTorch 2.x torch.compile باستخدام backend='inductor'. يقبل True → "default"، False → للتعطيل، أو وضع نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى التنفيذ الفوري مع تحذير إذا كان غير مدعوم. |
max_det | int | 300 | يحدد الحد الأقصى لعدد الكائنات المحتفظ بها أثناء مرحلة التحقق من التدريب. |
يوفر معامل batch ثلاثة خيارات للتكوين:
- حجم دفعة ثابت: حدد عدد الصور لكل دفعة برقم صحيح (مثلاً
batch=16). - الوضع التلقائي (60% من ذاكرة GPU): استخدم
batch=-1للتعديل التلقائي إلى حوالي 60% من استخدام ذاكرة CUDA. - الوضع التلقائي مع كسر الاستخدام: قم بتعيين كسر (مثلاً
batch=0.70) للتعديل بناءً على استخدام محدد لذاكرة GPU.
إعدادات التنبؤ
تتضمن إعدادات التنبؤ لنماذج YOLO معلمات مفرطة وتكوينات تؤثر على الأداء والسرعة والدقة أثناء الاستدلال. تشمل الإعدادات الرئيسية حد الثقة، وحد كبح التغير غير الأقصى (NMS)، وعدد الفئات. يؤثر حجم بيانات الإدخال وتنسيقها والميزات التكميلية مثل الأقنعة أيضاً على التنبؤات. يعد ضبط هذه الإعدادات ضرورياً لتحقيق الأداء الأمثل.
وسائط الاستدلال:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
source | str أو int أو None | None | يحدد مصدر البيانات للاستدلال. يمكن أن يكون مسار صورة، أو ملف فيديو، أو دليلاً، أو عنوان URL، أو معرف جهاز لخلاصات البث المباشر. إذا تم حذفه، يتم تسجيل تحذير ويعود النموذج إلى أصول العرض المدمجة (ultralytics/assets، أو عنوان URL تجريبي لـ OBB). يدعم مجموعة واسعة من التنسيقات والمصادر، مما يتيح تطبيقاً مرناً عبر أنواع مختلفة من المدخلات. |
conf | float | 0.25 | يحدد حد الثقة الأدنى للكشف. سيتم تجاهل الكائنات التي تم اكتشافها بثقة أقل من هذا الحد. يمكن أن يساعد ضبط هذه القيمة في تقليل الإيجابيات الكاذبة. |
iou | float | 0.7 | حد التقاطع فوق الاتحاد (IoU) لكبح التغير غير الأقصى (NMS). تؤدي القيم المنخفضة إلى عدد أقل من الكشوفات عن طريق القضاء على الصناديق المتداخلة، وهو مفيد لتقليل التكرارات. |
imgsz | int أو tuple | 640 | Letterbox 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. |
rect | bool | True | إذا كانت True، استخدم حشوة المستطيل الأدنى عندما يكون ذلك ممكناً (دفعة بنفس الشكل وواجهة خلفية مدعومة). إذا كانت False، قم دائماً بالحشو إلى imgsz الكامل. انظر الشكل الثابت مقابل المستطيل الأدنى. |
half | bool | False | يُفعل الاستدلال بنصف الدقة (FP16)، مما يمكن أن يسرع استدلال النموذج على وحدات GPU المدعومة مع تأثير ضئيل على الدقة. |
device | str | None | يحدد الجهاز للاستدلال (مثلاً cpu، cuda:0، 0، npu أو npu:0). يسمح للمستخدمين بالاختيار بين CPU، أو GPU محدد، أو Huawei Ascend NPU، أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
batch | int | 1 | يحدد حجم الدفعة للاستدلال (يعمل فقط عندما يكون المصدر دليلاً، أو ملف فيديو، أو ملف .txt). يمكن أن يوفر حجم الدفعة الأكبر إنتاجية أعلى، مما يقلل الوقت الإجمالي المطلوب للاستدلال. |
max_det | int | 300 | الحد الأقصى لعدد الاكتشافات المسموح به لكل صورة. يحد من العدد الإجمالي للكائنات التي يمكن للنموذج اكتشافها في استنتاج واحد، مما يمنع المخرجات المفرطة في المشاهد المزدحمة. |
vid_stride | int | 1 | خطوة الإطار لمدخلات الفيديو. تسمح بتخطي الإطارات في مقاطع الفيديو لتسريع المعالجة على حساب الدقة الزمنية. القيمة 1 تعالج كل إطار، والقيم الأعلى تتخطى الإطارات. |
stream_buffer | bool | False | يحدد ما إذا كان يجب وضع الإطارات الواردة في طابور لتدفقات الفيديو. إذا كانت القيمة False، يتم إسقاط الإطارات القديمة لاستيعاب الإطارات الجديدة (محسّن للتطبيقات في الوقت الفعلي). إذا كانت القيمة True، يتم وضع الإطارات الجديدة في مخزن مؤقت، مما يضمن عدم تخطي أي إطارات، ولكنه سيؤدي إلى زمن انتقال إذا كان معدل الإطارات في الاستنتاج أقل من معدل إطارات التدفق. |
visualize | bool | False | يفعل تصور ميزات النموذج أثناء الاستنتاج، مما يوفر رؤى حول ما "يراه" النموذج. مفيد لتصحيح الأخطاء وتفسير النموذج. |
augment | bool | False | يفعل زيادة وقت الاختبار (TTA) للتنبؤات، مما قد يحسن من قوة الاكتشاف على حساب سرعة الاستنتاج. |
agnostic_nms | bool | False | يفعل قمع النطاق غير الأقصى (NMS) غير المرتبط بالفئة، والذي يدمج الصناديق المتداخلة من فئات مختلفة. مفيد في سيناريوهات الاكتشاف متعدد الفئات حيث يكون تداخل الفئات شائعًا. بالنسبة للنماذج الشاملة (YOLO26، YOLOv10)، يمنع هذا فقط ظهور نفس الاكتشاف بتسميات فئات متعددة (تكرارات IoU=1.0) ولا يؤدي إلى قمع قائم على عتبة IoU بين الصناديق المميزة. |
classes | list[int] | None | يقوم بتصفية التنبؤات إلى مجموعة من معرفات الفئات. سيتم إرجاع الاكتشافات التي تنتمي إلى الفئات المحددة فقط. مفيد للتركيز على الكائنات ذات الصلة في مهام الاكتشاف متعددة الفئات. |
retina_masks | bool | False | يرجع أقنعة تجزئة عالية الدقة. ستطابق الأقنعة المرجعة (masks.data) حجم الصورة الأصلي إذا تم تفعيل هذا الخيار. إذا تم تعطيله، فسيكون لها حجم الصورة المستخدم أثناء الاستنتاج. |
embed | list[int] | None | يحدد الطبقات التي سيتم استخراج متجهات الميزات أو التضمينات منها. مفيد للمهام اللاحقة مثل التجميع أو البحث عن التشابه. |
project | str | None | اسم دليل المشروع حيث يتم حفظ مخرجات التنبؤ إذا تم تفعيل save. |
name | str | None | اسم تشغيل التنبؤ. يستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين مخرجات التنبؤ إذا تم تفعيل save. |
stream | bool | False | يفعل معالجة فعالة للذاكرة لمقاطع الفيديو الطويلة أو الصور العديدة عن طريق إرجاع مولد لكائنات النتائج بدلاً من تحميل جميع الإطارات في الذاكرة دفعة واحدة. |
verbose | bool | True | يتحكم فيما إذا كان سيتم عرض سجلات الاستنتاج التفصيلية في الطرفية، مما يوفر تعليقات فورية حول عملية التنبؤ. |
compile | bool or str | False | يُفعل تجميع الرسوم البيانية لـ PyTorch 2.x torch.compile باستخدام backend='inductor'. يقبل True → "default"، False → للتعطيل، أو وضع نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى التنفيذ الفوري مع تحذير إذا كان غير مدعوم. |
end2end | bool | None | يتجاوز الوضع الشامل في نماذج YOLO التي تدعم الاستنتاج بدون NMS (YOLO26، YOLOv10). ضبطه على False يسمح لك بتشغيل التنبؤ باستخدام خط أنابيب NMS التقليدي، مما يسمح لك بالإضافة إلى ذلك باستخدام وسيطة iou. راجع دليل الاكتشاف الشامل للحصول على التفاصيل. |
وسائط التصور:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كانت القيمة True، يتم عرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على تعليقات مرئية فورية أثناء التطوير أو الاختبار. |
save | bool | False or True | يفعل حفظ الصور أو مقاطع الفيديو المشروحة في ملفات. مفيد للتوثيق أو التحليل الإضافي أو مشاركة النتائج. القيمة الافتراضية هي True عند استخدام CLI و False عند الاستخدام في Python. |
save_frames | bool | False | عند معالجة مقاطع الفيديو، يحفظ الإطارات الفردية كصور. مفيد لاستخراج إطارات محددة أو للتحليل التفصيلي إطاراً بإطار. |
save_txt | bool | False | يحفظ نتائج الاكتشاف في ملف نصي، باتباع التنسيق [class] [x_center] [y_center] [width] [height] [confidence]. مفيد للتكامل مع أدوات التحليل الأخرى. |
save_conf | bool | False | يتضمن درجات الثقة في الملفات النصية المحفوظة. يعزز التفاصيل المتاحة للمعالجة اللاحقة والتحليل. |
save_crop | bool | False | يحفظ صوراً مقصوصة للاكتشافات. مفيد لزيادة البيانات أو التحليل أو إنشاء مجموعات بيانات مركزة لكائنات محددة. |
show_labels | bool | True | يعرض تسميات لكل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة. |
show_conf | bool | True | يعرض درجة الثقة لكل اكتشاف بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل اكتشاف. |
show_boxes | bool | True | يرسم صناديق إحاطة حول الكائنات المكتشفة. ضروري للتعرف المرئي وتحديد موقع الكائنات في الصور أو إطارات الفيديو. |
line_width | int or None | None | يحدد عرض خط صناديق الإحاطة. إذا كانت القيمة None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
إعدادات التحقق
تتضمن إعدادات التحقق لنماذج YOLO معلمات فائقة وتكوينات لتقييم الأداء على مجموعة بيانات تحقق. تؤثر هذه الإعدادات على الأداء والسرعة والدقة. تشمل الإعدادات الشائعة حجم الدفعة وتكرار التحقق ومقاييس الأداء. يؤثر حجم وتكوين مجموعة بيانات التحقق، إلى جانب المهمة المحددة، على العملية أيضاً.
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
data | str | None | يحدد مسار ملف تكوين مجموعة البيانات (مثل coco8.yaml). يجب أن يتضمن هذا الملف مسار بيانات التحقق. |
imgsz | int | 640 | يحدد حجم صور الإدخال. يتم تغيير حجم جميع الصور إلى هذا البعد قبل المعالجة. قد تؤدي الأحجام الأكبر إلى تحسين الدقة للكائنات الصغيرة ولكنها تزيد من وقت الحوسبة. |
batch | int | 16 | يحدد عدد الصور لكل دفعة. تستخدم القيم الأعلى ذاكرة GPU بكفاءة أكبر ولكنها تتطلب المزيد من VRAM. اضبطها بناءً على موارد الأجهزة المتاحة. |
save_json | bool | False | إذا كانت القيمة True، يتم حفظ النتائج في ملف JSON لمزيد من التحليل، أو التكامل مع أدوات أخرى، أو الإرسال إلى خوادم التقييم مثل COCO. |
conf | float | 0.001 | يحدد عتبة الثقة الدنيا للاكتشافات. تزيد القيم المنخفضة من الاستدعاء ولكنها قد تقدم المزيد من النتائج الإيجابية الكاذبة. تستخدم أثناء التحقق لحساب منحنيات الدقة والاستدعاء. |
iou | float | 0.7 | يحدد عتبة التقاطع فوق الاتحاد لـ قمع النطاق غير الأقصى. يتحكم في القضاء على الاكتشاف المكرر. |
max_det | int | 300 | يحد من الحد الأقصى لعدد الاكتشافات لكل صورة. مفيد في المشاهد المزدحمة لمنع الاكتشافات المفرطة وإدارة الموارد الحسابية. |
half | bool | False | يفعل حوسبة نصف الدقة (FP16)، مما يقلل من استخدام الذاكرة وربما يزيد السرعة مع تأثير ضئيل على الدقة. |
device | str | None | يحدد الجهاز للتحقق (cpu، cuda:0، npu، npu:0، إلخ). عندما تكون القيمة None، يتم تحديد أفضل جهاز متاح تلقائياً. يمكن تحديد أجهزة CUDA متعددة بفصلها بفاصلة. |
dnn | bool | False | إذا كانت القيمة True، يتم استخدام وحدة OpenCV DNN لاستنتاج نموذج ONNX، مما يوفر بديلاً لطرق استنتاج PyTorch. |
plots | bool | True | عند ضبطه على True، يقوم بإنشاء وحفظ مخططات للتنبؤات مقابل الحقيقة الأرضية، ومصفوفات الارتباك، ومنحنيات PR للتقييم المرئي لأداء النموذج. |
classes | list[int] | None | يحدد قائمة بمعرفات الفئات لتقييمها. مفيد للتصفية والتركيز فقط على فئات معينة أثناء التقييم. |
rect | bool | True | إذا كانت القيمة True، يتم استخدام الاستنتاج المستطيل للتجميع، مما يقلل من الحشو وربما يزيد السرعة والكفاءة من خلال معالجة الصور بنسبة العرض إلى الارتفاع الأصلية الخاصة بها. |
split | str | 'val' | يحدد تقسيم مجموعة البيانات المستخدم للتحقق (val، test، أو train). يسمح بالمرونة في اختيار جزء البيانات لتقييم الأداء. |
project | str | None | اسم دليل المشروع حيث يتم حفظ مخرجات التحقق. يساعد في تنظيم النتائج من تجارب أو نماذج مختلفة. |
name | str | None | اسم تشغيل التحقق. يستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات ومخرجات التحقق. |
verbose | bool | True | إذا كانت القيمة True، يتم عرض معلومات مفصلة أثناء عملية التحقق، بما في ذلك مقاييس كل فئة، وتقدم الدفعة، ومعلومات تصحيح الأخطاء الإضافية. |
save_txt | bool | False | إذا كانت القيمة True، يتم حفظ نتائج الاكتشاف في ملفات نصية، ملف واحد لكل صورة، مفيد لمزيد من التحليل، أو المعالجة اللاحقة المخصصة، أو التكامل مع أنظمة أخرى. |
save_conf | bool | False | إذا كانت القيمة True، يتم تضمين قيم الثقة في الملفات النصية المحفوظة عند تفعيل save_txt، مما يوفر مخرجات أكثر تفصيلاً للتحليل والتصفية. |
workers | int | 8 | عدد سلاسل العمليات المخصصة لتحميل البيانات. يمكن أن تؤدي القيم الأعلى إلى تسريع المعالجة الأولية للبيانات ولكنها قد تزيد من استخدام CPU. الضبط على 0 يستخدم السلسلة الرئيسية، والتي يمكن أن تكون أكثر استقراراً في بعض البيئات. |
augment | bool | False | يفعل زيادة وقت الاختبار (TTA) أثناء التحقق، مما قد يحسن دقة الاكتشاف على حساب سرعة الاستنتاج من خلال تشغيل الاستنتاج على إصدارات محولة من المدخلات. |
agnostic_nms | bool | False | يفعل قمع النطاق غير الأقصى غير المرتبط بالفئة، والذي يدمج الصناديق المتداخلة بغض النظر عن فئتها المتوقعة. مفيد للتطبيقات التي تركز على الحالات الفردية. بالنسبة للنماذج الشاملة (YOLO26، YOLOv10)، يمنع هذا فقط ظهور نفس الاكتشاف بتسميات فئات متعددة (تكرارات IoU=1.0) ولا يؤدي إلى قمع قائم على عتبة IoU بين الصناديق المميزة. |
single_cls | bool | False | يعامل جميع الفئات كفئة واحدة أثناء التحقق. مفيد لتقييم أداء النموذج في مهام الاكتشاف الثنائي أو عندما لا تكون تمييزات الفئات مهمة. |
visualize | bool | False | يتصور الحقائق الأرضية، والإيجابيات الحقيقية، والإيجابيات الكاذبة، والسلبيات الكاذبة لكل صورة. مفيد لتصحيح الأخطاء وتفسير النموذج. |
compile | bool or str | False | يُفعل تجميع الرسوم البيانية لـ PyTorch 2.x torch.compile باستخدام backend='inductor'. يقبل True → "default"، False → للتعطيل، أو وضع نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى التنفيذ الفوري مع تحذير إذا كان غير مدعوم. |
end2end | bool | None | يتجاوز الوضع الشامل في نماذج YOLO التي تدعم الاستنتاج بدون NMS (YOLO26، YOLOv10). ضبطه على False يسمح لك بتشغيل التحقق باستخدام خط أنابيب NMS التقليدي، مما يسمح لك بالإضافة إلى ذلك باستخدام وسيطة iou. |
تعد العناية في الضبط والتجريب أمراً بالغ الأهمية لضمان الأداء الأمثل واكتشاف ومنع الفرط في التخصيص.
إعدادات التصدير
تتضمن إعدادات التصدير لنماذج YOLO تكوينات لحفظ أو تصدير النموذج لاستخدامه في بيئات مختلفة. تؤثر هذه الإعدادات على الأداء والحجم والتوافق. تشمل الإعدادات الرئيسية تنسيق الملف المصدر (مثل ONNX، TensorFlow SavedModel)، والجهاز المستهدف (مثل CPU، GPU)، وميزات مثل الأقنعة. تؤثر مهمة النموذج وقيود بيئة الوجهة أيضاً على عملية التصدير.
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'torchscript' | التنسيق المستهدف للنموذج المصدر، مثل 'onnx'، 'torchscript'، 'engine' (TensorRT)، أو غيرها. كل تنسيق يتيح التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة (مثل 640 لـ 640×640) أو صفاً (height, width) لأبعاد محددة. |
keras | bool | False | يفعل التصدير إلى تنسيق Keras لـ TensorFlow SavedModel، مما يوفر التوافق مع خدمة TensorFlow وواجهات البرمجة. |
optimize | bool | False | يطبق التحسين للأجهزة المحمولة عند التصدير إلى TorchScript، مما قد يقلل من حجم النموذج ويحسن أداء الاستنتاج. غير متوافق مع تنسيق NCNN أو أجهزة CUDA. بالنسبة لـ DeepX، يفعل تحسين مترجم أعلى يقلل من زمن انتقال الاستنتاج ويزيد من وقت التجميع. |
half | bool | False | يفعل تكميم FP16 (نصف الدقة)، مما يقلل من حجم النموذج وربما يسرع الاستنتاج على الأجهزة المدعومة. غير متوافق مع تكميم INT8 أو الصادرات الخاصة بـ CPU فقط. متاح فقط لتنسيقات معينة، مثل ONNX (انظر أدناه). |
int8 | bool | False | يفعل تكميم INT8، مما يزيد من ضغط النموذج ويسرع الاستنتاج مع فقدان ضئيل في الدقة، بشكل أساسي لـ أجهزة الحافة. عند استخدامه مع TensorRT، يقوم بتكميم ما بعد التدريب (PTQ). |
dynamic | bool | False | يسمح بأحجام إدخال ديناميكية لصادرات TorchScript، وONNX، وOpenVINO، وTensorRT، وCoreML، مما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة. يتم ضبطه تلقائياً على True عند استخدام TensorRT مع INT8. |
simplify | bool | True | يبسط رسم النموذج لصادرات ONNX باستخدام onnxslim، مما قد يحسن الأداء والتوافق مع محركات الاستنتاج. |
opset | int | None | يحدد إصدار ONNX opset للتوافق مع محللات ومحركات ONNX المختلفة. إذا لم يتم ضبطه، يستخدم أحدث إصدار مدعوم. |
workspace | float أو None | None | يحدد الحد الأقصى لحجم مساحة العمل بوحدة GiB لتحسينات TensorRT، مما يوازن بين استخدام الذاكرة والأداء. استخدم None للتخصيص التلقائي بواسطة TensorRT حتى الحد الأقصى للجهاز. |
nms | bool | False | يضيف خاصية قمع الحد الأقصى غير (NMS) إلى النموذج المصدر عند دعمها (راجع تنسيقات التصدير)، مما يحسن كفاءة معالجة الكشف اللاحقة. غير متاح للنماذج من النهاية إلى النهاية (end2end). |
batch | int | 1 | يحدد حجم استنتاج الدفعة للنموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict. بالنسبة لصادرات Edge TPU، يتم ضبط هذا تلقائياً على 1. |
device | str | None | يحدد الجهاز للتصدير: 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 تلقائياً. |
data | str | 'coco8.yaml' | مسار ملف إعداد مجموعة البيانات، وهو ضروري لمعايرة تكميم INT8. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام coco8.yaml كخيار احتياطي للمعايرة. |
fraction | float | 1.0 | يحدد جزء مجموعة البيانات المستخدم لمعايرة تكميم INT8. يسمح بالمعايرة على مجموعة فرعية من مجموعة البيانات الكاملة، وهو مفيد للتجارب أو عند محدودية الموارد. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام مجموعة البيانات الكاملة. |
end2end | bool | None | يتجاوز وضع النهاية إلى النهاية في نماذج YOLO التي تدعم الاستنتاج بدون NMS (YOLO26, YOLOv10). ضبطه على False يتيح لك تصدير هذه النماذج لتكون متوافقة مع خط أنابيب المعالجة اللاحقة التقليدي القائم على NMS. راجع دليل الكشف من النهاية إلى النهاية للحصول على التفاصيل. |
يضمن الإعداد المدروس تحسين النموذج المصدر لحالة استخدامه وعمله بفعالية في البيئة المستهدفة.
إعدادات الحلول
توفر إعدادات تكوين Ultralytics Solutions مرونة لتخصيص النماذج لمهام مثل عد الكائنات، وإنشاء الخرائط الحرارية، وتتبع التمارين، وتحليل البيانات، وتتبع المناطق، وإدارة الطوابير، والعد القائم على المنطقة. تسمح هذه الخيارات بإجراء تعديلات سهلة للحصول على نتائج دقيقة ومفيدة مصممة لتلبية احتياجات محددة.
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | مسار إلى ملف نموذج Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | قائمة النقاط التي تحدد منطقة العد. |
show_in | bool | True | علامة للتحكم في ما إذا كان سيتم عرض أعداد الدخول على دفق الفيديو. |
show_out | bool | True | علامة للتحكم في ما إذا كان سيتم عرض أعداد الخروج على دفق الفيديو. |
analytics_type | str | 'line' | نوع الرسم البياني، مثل line أو bar أو area أو pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | خريطة الألوان لاستخدامها في الخريطة الحرارية. |
json_file | str | None | مسار ملف JSON الذي يحتوي على كافة بيانات إحداثيات موقف السيارات. |
up_angle | float | 145.0 | عتبة الزاوية لوضعية 'الأعلى'. |
kpts | list[int] | '[6, 8, 10]' | قائمة من ثلاثة مؤشرات للنقاط الرئيسية المستخدمة لمراقبة التمارين. تتوافق هذه النقاط الرئيسية مع مفاصل الجسم أو أجزائه، مثل الكتفين والمرفقين والمعصمين، لتمارين مثل الضغط، والعقلة، والقرفصاء، وتمارين البطن. |
down_angle | int | 90 | عتبة الزاوية لوضعية 'الأسفل'. |
blur_ratio | float | 0.5 | يضبط نسبة كثافة التمويه، بقيم في النطاق 0.1 - 1.0. |
crop_dir | str | 'cropped-detections' | اسم الدليل لتخزين الاكتشافات المقصوصة. |
records | int | 5 | إجمالي عدد الاكتشافات لتشغيل بريد إلكتروني مع نظام إنذار أمني. |
vision_point | tuple[int, int] | (20, 20) | النقطة التي ستتتبع فيها الرؤية الكائنات وترسم المسارات باستخدام حل VisionEye. |
source | str | None | مسار إلى مصدر الإدخال (فيديو، RTSP، إلخ). يمكن استخدامه فقط مع واجهة سطر أوامر الحلول (CLI). |
figsize | tuple[int, int] | (12.8, 7.2) | حجم الشكل لمخططات التحليلات مثل الخرائط الحرارية أو الرسوم البيانية. |
fps | float | 30.0 | الإطارات في الثانية المستخدمة لحسابات السرعة. |
max_hist | int | 5 | أقصى عدد للنقاط التاريخية للتتبع لكل كائن لحسابات السرعة/الاتجاه. |
meter_per_pixel | float | 0.05 | عامل القياس المستخدم لتحويل مسافة البكسل إلى وحدات واقعية. |
max_speed | int | 120 | الحد الأقصى للسرعة في التراكبات المرئية (المستخدمة في التنبيهات). |
data | str | 'images' | مسار إلى دليل الصور المستخدم للبحث عن التشابه. |
إعدادات التعزيز
تعد تقنيات تعزيز البيانات ضرورية لتحسين قوة وأداء نموذج YOLO من خلال إدخال التباين في بيانات التدريب، مما يساعد النموذج على التعميم بشكل أفضل على البيانات غير المرئية. يوضح الجدول التالي الغرض من كل وسيطة تعزيز وتأثيرها:
| المعامل | النوع | الافتراضي | المهام المدعومة | النطاق | الوصف |
|---|---|---|---|---|---|
hsv_h | float | 0.015 | detect, segment, pose, obb, classify | 0.0 - 1.0 | يضبط تدرج لون الصورة بجزء من عجلة الألوان، مما يقدم تبايناً في الألوان. يساعد النموذج على التعميم عبر ظروف إضاءة مختلفة. |
hsv_s | float | 0.7 | detect, segment, pose, obb, classify | 0.0 - 1.0 | يغير تشبع الصورة بجزء، مما يؤثر على كثافة الألوان. مفيد لمحاكاة ظروف بيئية مختلفة. |
hsv_v | float | 0.4 | detect, segment, pose, obb, classify | 0.0 - 1.0 | يعدل قيمة (سطوع) الصورة بجزء، مما يساعد النموذج على الأداء الجيد تحت ظروف إضاءة متنوعة. |
degrees | float | 0 | detect, segment, pose, obb | 0.0 - 180 | يدور الصورة عشوائياً ضمن نطاق الدرجة المحدد، مما يحسن قدرة النموذج على التعرف على الكائنات في اتجاهات مختلفة. |
translate | float | 0.1 | detect, segment, pose, obb | 0.0 - 1.0 | ينقل الصورة أفقياً وعمودياً بجزء من حجم الصورة، مما يساعد في تعلم اكتشاف الكائنات المرئية جزئياً. |
scale | float | 0.5 | detect, segment, pose, obb, classify | 0 - 1 | يغير حجم الصورة بعامل ربح، مما يحاكي الكائنات على مسافات مختلفة من الكاميرا. |
shear | float | 0 | detect, segment, pose, obb | -180 - +180 | يقص الصورة بزاوية محددة، محاكياً تأثير رؤية الكائنات من زوايا مختلفة. |
perspective | float | 0 | detect, segment, pose, obb | 0.0 - 0.001 | يطبق تحويل منظور عشوائي على الصورة، مما يعزز قدرة النموذج على فهم الكائنات في الفضاء ثلاثي الأبعاد. |
flipud | float | 0 | detect, segment, pose, obb, classify | 0.0 - 1.0 | يقوم بقلب الصورة رأساً على عقب بالاحتمالية المحددة، مما يزيد من تباين البيانات دون التأثير على خصائص الكائن. |
fliplr | float | 0.5 | detect, segment, pose, obb, classify | 0.0 - 1.0 | يقوم بقلب الصورة من اليسار إلى اليمين بالاحتمالية المحددة، وهو مفيد لتعلم الكائنات المتناظرة وزيادة تنوع مجموعة البيانات. |
bgr | float | 0 | detect, segment, pose, obb | 0.0 - 1.0 | يقوم بقلب قنوات الصورة من RGB إلى BGR بالاحتمالية المحددة، وهو مفيد لزيادة المتانة تجاه ترتيب القنوات غير الصحيح. |
mosaic | float | 1 | detect, segment, pose, obb | 0.0 - 1.0 | يجمع أربع صور تدريبية في صورة واحدة، مما يحاكي تكوينات المشهد المختلفة وتفاعلات الكائنات. فعال للغاية لفهم المشاهد المعقدة. |
mixup | float | 0 | detect, segment, pose, obb | 0.0 - 1.0 | يمزج بين صورتين وملصقاتهما، مما ينشئ صورة مركبة. يعزز قدرة النموذج على التعميم من خلال إدخال ضجيج في الملصقات وتباين بصري. |
cutmix | float | 0 | detect, segment, pose, obb | 0.0 - 1.0 | يجمع بين أجزاء من صورتين، مما ينشئ مزيجاً جزئياً مع الحفاظ على مناطق مميزة. يعزز متانة النموذج من خلال إنشاء سيناريوهات حجب. |
copy_paste | float | 0 | segment | 0.0 - 1.0 | ينسخ ويلصق الكائنات عبر الصور لزيادة عدد حالات الكائنات. |
copy_paste_mode | str | flip | segment | - | يحدد استراتيجية copy-paste المراد استخدامها. تشمل الخيارات 'flip' و 'mixup'. |
auto_augment | str | randaugment | classify | - | يطبق سياسة تعزيز محددة مسبقاً ('randaugment' أو 'autoaugment' أو 'augmix') لتعزيز أداء النموذج من خلال التنوع البصري. |
erasing | float | 0.4 | classify | 0.0 - 1.0 | يمحو مناطق من الصورة بشكل عشوائي أثناء التدريب لتشجيع النموذج على التركيز على الميزات الأقل وضوحاً. |
augmentations | list | `` | detect, segment, pose, obb | - | تحويلات Albumentations مخصصة لتعزيز البيانات المتقدم (Python API فقط). يقبل قائمة بكائنات التحويل لاحتياجات التعزيز المتخصصة. |
قم بضبط هذه الإعدادات لتلبية متطلبات مجموعة البيانات والمهمة. تجربة قيم مختلفة يمكن أن تساعد في العثور على استراتيجية التعزيز المثلى لتحقيق أفضل أداء للنموذج.
إعدادات التسجيل، نقاط التحقق، والرسم البياني
يعد التسجيل ونقاط التحقق والرسم البياني وإدارة الملفات أموراً مهمة عند تدريب نموذج YOLO:
- التسجيل (Logging): تتبع تقدم النموذج وتشخيص المشكلات باستخدام مكتبات مثل TensorBoard أو عن طريق الكتابة في ملف.
- نقاط التحقق (Checkpoints): حفظ النموذج على فترات منتظمة لاستئناف التدريب أو تجربة تكوينات مختلفة.
- الرسم البياني (Plotting): تصور الأداء وتقدم التدريب باستخدام مكتبات مثل Matplotlib أو TensorBoard.
- إدارة الملفات: تنظيم الملفات التي تم إنشاؤها أثناء التدريب، مثل نقاط التحقق، وملفات السجل، والرسوم البيانية، لسهولة الوصول إليها وتحليلها.
تساعد الإدارة الفعالة لهذه الجوانب في تتبع التقدم وتسهيل عمليات التصحيح والتحسين.
| المعامل | الافتراضي | الوصف |
|---|---|---|
project | 'runs' | يحدد الدليل الجذر لحفظ عمليات التدريب. يتم حفظ كل عملية في دليل فرعي منفصل. |
name | 'exp' | يحدد اسم التجربة. إذا لم يتم تحديده، يقوم YOLO بزيادة هذا الاسم لكل عملية (على سبيل المثال، exp، exp-2) لتجنب الكتابة فوق الملفات الموجودة. |
exist_ok | False | يحدد ما إذا كان سيتم الكتابة فوق دليل تجربة موجود. تتيح القيمة True الكتابة فوقه؛ بينما تمنع القيمة False ذلك. |
plots | True | يتحكم في إنشاء وحفظ رسوم التدريب والتحقق البيانية. اضبط على True لإنشاء رسوم بيانية مثل منحنيات الخسارة، ومنحنيات الدقة-الاستدعاء، ونماذج التنبؤات للتتبع البصري للأداء. |
save | True | يُمكّن حفظ نقاط تحقق التدريب وأوزان النموذج النهائية. اضبط على True لحفظ حالات النموذج بشكل دوري، مما يسمح باستئناف التدريب أو نشر النموذج. |
ملف التكوين المخصص
قم بتحميل ملف YAML محفوظ لإعادة استخدام مجموعة كاملة من الوسائط دون تمريرها بشكل مضمن. تتجاوز وسائط cfg القيم الموجودة في default.yaml، بينما تظل الوسائط الإضافية التي يتم تمريرها بجانبها لها الأولوية.
| المعامل | الافتراضي | الوصف |
|---|---|---|
cfg | None | مسار إلى ملف 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) الحديثة، مما يسمح بنماذج أكبر وحسابات أسرع دون فقدان كبير في الدقة. تعلم المزيد في دليل التدريب.