Link to this sectionالإعدادات#
تلعب إعدادات ومحددات YOLO دوراً حاسماً في أداء النموذج وسرعته ودقة التنبؤ. يمكن أن تؤثر هذه الإعدادات على سلوك النموذج في مراحل مختلفة، بما في ذلك التدريب والتحقق من الصحة والتنبؤ.
Watch: Mastering Ultralytics YOLO: Configuration
تستخدم أوامر Ultralytics الصيغة التالية:
yolo TASK MODE ARGSحيث:
TASK(اختياري) هو واحد من (detect, segment, semantic, 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.
Link to this sectionمهام#
يمكن لنماذج Ultralytics YOLO أداء مجموعة متنوعة من مهام الرؤية الحاسوبية، بما في ذلك:
- Detect: اكتشاف الكائنات يعمل على تحديد وتعيين مواقع الكائنات داخل صورة أو مقطع فيديو.
- Segment: تجزئة المثيلات تعمل على تقسيم صورة أو مقطع فيديو إلى مناطق تتوافق مع كائنات أو فئات مختلفة.
- Semantic segmentation (
semantic): التجزئة الدلالية تقوم بتعيين تصنيف فئة لكل بكسل في الصورة لفهم المشهد بكثافة. - Classify: تصنيف الصور تتنبأ بتصنيف الفئة لصورة الإدخال.
- Pose: تقدير الوضعية يحدد الكائنات ويقدر نقاطها الرئيسية في صورة أو مقطع فيديو.
- OBB: صناديق الإحاطة الموجهة تستخدم صناديق إحاطة مدورة، وهي مناسبة لصور الأقمار الصناعية أو الصور الطبية.
| الوسيط | الافتراضي | الوصف |
|---|---|---|
task | 'detect' | يحدد مهمة YOLO: detect لـ اكتشاف الكائنات، و segment لتجزئة المثيلات، و semantic للتجزئة الدلالية، و classify للتصنيف، و pose لتقدير الوضعية، و obb لصناديق الإحاطة الموجهة. كل مهمة مصممة خصيصاً لمخرجات ومشكلات محددة في تحليل الصور والفيديو. |
Link to this sectionالأوضاع#
تعمل نماذج 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 لتقييم الأداء. يدعم كل وضع مراحل مختلفة، بدءاً من التطوير وحتى النشر. |
Link to this sectionإعدادات التدريب#
تشمل إعدادات تدريب نماذج YOLO محددات وتكوينات تؤثر على أداء النموذج وسرعته ودقة التنبؤ. تشمل الإعدادات الرئيسية حجم الدفعة، ومعدل التعلم، والزخم، وتلاشي الوزن. يؤثر اختيار المُحسّن، ودالة الخسارة، وتكوين مجموعة البيانات أيضاً على التدريب. يعد الضبط والتجريب أمراً بالغ الأهمية للحصول على الأداء الأمثل. لمزيد من التفاصيل، راجع دالة نقطة دخول Ultralytics.
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | يحدد ملف النموذج للتدريب. يقبل مساراً إما لنموذج مدرب مسبقاً .pt أو ملف تكوين .yaml. أساسي لتحديد هيكل النموذج أو تهيئة الأوزان. |
data | str | None | المسار إلى ملف تكوين مجموعة البيانات (مثل coco8.yaml). يحتوي هذا الملف على معاملات خاصة بمجموعة البيانات، بما في ذلك مسارات التدريب وبيانات التحقق، وأسماء الفئات، وعدد الفئات. |
epochs | int | 100 | إجمالي عدد حقبات التدريب. تمثل كل حقبة تمريرة كاملة عبر مجموعة البيانات بأكملها. يمكن أن يؤثر ضبط هذه القيمة على مدة التدريب وأداء النموذج. |
time | float | None | الحد الأقصى لوقت التدريب بالساعات. إذا تم ضبطه، فإنه يتجاوز الوسيط epochs، مما يسمح بإيقاف التدريب تلقائياً بعد المدة المحددة. مفيد لسيناريوهات التدريب المقيدة زمنياً. |
patience | int | 100 | عدد الحقبات التي يجب الانتظار فيها دون تحسن في مقاييس التحقق قبل إيقاف التدريب مبكراً. يساعد في منع الفرط في التخصيص عن طريق إيقاف التدريب عندما يستقر الأداء. |
batch | int أو float | 16 | حجم الدُفعة، مع ثلاثة أوضاع: تعيين كرقم صحيح (مثل batch=16)، أو وضع تلقائي لاستخدام 60% من ذاكرة GPU (batch=-1)، أو وضع تلقائي مع كسر استخدام محدد (batch=0.70). |
imgsz | int | 640 | حجم الصورة المستهدف للتدريب. يتم تغيير حجم الصور إلى مربعات ذات جوانب تساوي القيمة المحددة (إذا كان rect=False)، مع الحفاظ على نسبة العرض إلى الارتفاع لنماذج YOLO ولكن ليس لـ RT-DETR. يؤثر على دِقة النموذج والتعقيد الحسابي. |
save | bool | True | يُمكّن حفظ نقاط تحقق التدريب وأوزان النموذج النهائية. مفيد لاستئناف التدريب أو نشر النموذج. |
save_period | int | -1 | تكرار حفظ نقاط تحقق النموذج، محددة بالحقبات. قيمة -1 تعطل هذه الميزة. مفيدة لحفظ النماذج المؤقتة خلال جلسات التدريب الطويلة. |
cache | bool | False | يُمكّن التخزين المؤقت لصور مجموعة البيانات في الذاكرة (True/ram)، أو على القرص (disk)، أو يعطله (False). يحسن سرعة التدريب عن طريق تقليل عمليات إدخال/إخراج القرص على حساب زيادة استخدام الذاكرة. |
device | int أو str أو 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 | عدد خيوط المعالجة (worker threads) لتحميل البيانات (لكل RANK في حالة التدريب متعدد وحدات GPU). يؤثر على سرعة المعالجة المسبقة للبيانات وتغذيتها في النموذج، مفيد بشكل خاص في إعدادات تعدد وحدات GPU. |
project | str | None | اسم دليل المشروع حيث يتم حفظ مخرجات التدريب. يسمح بتخزين منظم للتجارب المختلفة. |
name | str | None | اسم تشغيل التدريب. يستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات ومخرجات التدريب. |
exist_ok | bool | False | إذا كان True، يسمح بالكتابة فوق دليل مشروع/اسم موجود. مفيد للتجارب التكرارية دون الحاجة إلى مسح المخرجات السابقة يدوياً. |
pretrained | bool أو str | True | يحدد ما إذا كان سيتم بدء التدريب من أوزان مدربة مسبقاً. يمكن أن تكون قيمة منطقية أو مساراً نصياً للأوزان لتحميلها. pretrained=False يدرب من أوزان مهيأة عشوائياً مع الاحتفاظ بهيكل النموذج. |
optimizer | str | 'auto' | اختيار المُحسن للتدريب. تشمل الخيارات SGD و MuSGD و Adam و Adamax و AdamW و NAdam و RAdam و RMSProp أو auto للاختيار التلقائي بناءً على تكوين النموذج. يؤثر على سرعة التقارب والاستقرار. |
seed | int | 0 | يضبط البذرة العشوائية (random seed) للتدريب، مما يضمن قابلية تكرار النتائج عبر التشغيلات بنفس التكوينات. |
deterministic | bool | True | يفرض استخدام خوارزمية حتمية، مما يضمن قابلية التكرار ولكنه قد يؤثر على الأداء والسرعة بسبب القيود على الخوارزميات غير الحتمية. |
verbose | bool | True | يُمكّن المخرجات التفصيلية أثناء التدريب، حيث يعرض أشرطة التقدم، والمقاييس لكل دورة (epoch)، ومعلومات تدريب إضافية في وحدة التحكم. |
single_cls | bool | False | يعامل جميع الفئات في مجموعات البيانات متعددة الفئات كفئة واحدة أثناء التدريب. مفيد لمهام التصنيف الثنائي أو عند التركيز على وجود الكائن بدلاً من تصنيفه. |
classes | list[int] | None | يحدد قائمة بمعرفات الفئات للتدريب عليها. مفيد لتصفية والتركيز فقط على فئات معينة أثناء التدريب. |
rect | bool | False | يُفعّل استراتيجية الحشو (padding) الأدنى—يتم حشو الصور في الدفعة (batch) بحد أدنى للوصول إلى حجم مشترك، بحيث يساوي الضلع الأطول imgsz. يمكن أن يحسن الكفاءة والسرعة ولكنه قد يؤثر على دقة النموذج. |
multi_scale | float | 0.0 | تغيير imgsz عشوائياً لكل دفعة بمقدار +/- multi_scale (مثلاً 0.25 -> من 0.75x إلى 1.25x)، مع التقريب إلى مضاعفات خطوة النموذج (stride)؛ القيمة 0.0 تُعطل التدريب متعدد المقاييس. |
cos_lr | bool | False | يستخدم مجدول معدل التعلم من نوع جيب التمام، حيث يتم ضبط معدل التعلم باتباع منحنى جيب التمام عبر الدورات. يساعد في إدارة معدل التعلم لتحقيق تقارب أفضل. |
close_mosaic | int | 10 | يُعطل زيادة البيانات من نوع الفسيفساء في آخر N دورة لتحقيق استقرار التدريب قبل الانتهاء. ضبط القيمة على 0 يُعطل هذه الميزة. |
resume | bool | False | يستأنف التدريب من آخر نقطة تفتيش محفوظة. يقوم تلقائياً بتحميل أوزان النموذج، وحالة المُحسِّن، وعدد الدورات، مما يتيح متابعة التدريب بسلاسة. |
amp | bool | True | يُفعّل التدريب بالدقة المختلطة التلقائية Mixed Precision (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)، يُستخدم مع المجدولات لضبط معدل التعلم بمرور الوقت. |
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) أثناء مرحلة التهيئة، مما يساعد في استقرار تدريب النموذج في الدورات الأولى. |
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 | وزن خسارة الوضعية (pose loss) في النماذج المدربة لتقدير الوضعية، مما يؤثر على التركيز على التنبؤ الدقيق للنقاط الرئيسية للوضعية. |
kobj | float | 1.0 | وزن خسارة موضوعية النقاط الرئيسية في نماذج تقدير الوضعية، مما يوازن بين ثقة الكشف ودقة الوضعية. |
rle | float | 1.0 | وزن خسارة تقدير احتمالية اللوغاريتم المتبقية (residual log-likelihood estimation loss) في نماذج تقدير الوضعية، مما يؤثر على دقة تحديد مواقع النقاط الرئيسية. |
angle | float | 1.0 | وزن خسارة الزاوية في نماذج obb، مما يؤثر على دقة توقعات زاوية صندوق الإحاطة الموجه. |
nbs | int | 64 | حجم الدفعة الاسمي لتطبيع الخسارة. |
overlap_mask | bool | True | يحدد ما إذا كان يجب دمج أقنعة الكائنات في قناع واحد للتدريب، أو الاحتفاظ بها منفصلة لكل كائن. في حالة التداخل، يتم وضع القناع الأصغر فوق القناع الأكبر أثناء الدمج. |
mask_ratio | int | 4 | نسبة التقليص لأقنعة التجزئة (segmentation masks)، مما يؤثر على دقة الأقنعة المستخدمة أثناء التدريب. |
dropout | float | 0.0 | معدل الإسقاط (dropout) للتنظيم في مهام التصنيف، مما يمنع الإفراط في التخصيص عن طريق حذف الوحدات عشوائياً أثناء التدريب. |
val | bool | True | يُفعّل التحقق أثناء التدريب، مما يسمح بالتقييم الدوري لأداء النموذج على مجموعة بيانات منفصلة. |
plots | bool | True | يُنشئ ويحفظ مخططات لمقاييس التدريب والتحقق، بالإضافة إلى أمثلة للتنبؤ، مما يوفر رؤى مرئية حول أداء النموذج وتقدم التعلم. |
compile | bool أو str | False | يُفعّل تجميع الرسم البياني torch.compile في PyTorch 2.x مع backend='inductor'. يقبل True → "default"، False → للتعطيل، أو نمط نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى الوضع السريع (eager) مع تحذير إذا كان غير مدعوم. |
max_det | int | 300 | يحدد الحد الأقصى لعدد الكائنات المحتفظ بها أثناء مرحلة التحقق من التدريب. |
يوفر وسيط batch ثلاثة خيارات للتكوين:
- حجم دفعة ثابت: حدد عدد الصور في كل دفعة باستخدام عدد صحيح (مثال:
batch=16). - الوضع التلقائي (60% من ذاكرة GPU): استخدم
batch=-1للضبط التلقائي ليصل إلى حوالي 60% من استخدام ذاكرة CUDA. - الوضع التلقائي مع كسر الاستخدام: قم بتعيين كسر (مثال:
batch=0.70) للضبط بناءً على استخدام محدد لذاكرة GPU.
Link to this sectionإعدادات التنبؤ#
تشمل إعدادات التنبؤ لنماذج 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. يعطي العدد الصحيح N×N مربعاً؛ ويعطي الصف (height, width). مع rect=True، قد يكون الموتر الفعلي أصغر من هذا الهدف بسبب حشو المستطيل الأدنى. استخدم rect=False لحجم ثابت. انظر الشكل الثابت مقابل المستطيل الأدنى. |
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، يتم وضع الإطارات الجديدة في طابور، مما يضمن عدم تخطي أي إطارات، ولكنه سيسبب تأخيراً إذا كان FPS الاستدلال أقل من FPS التدفق. |
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 أو str | False | يُفعّل تجميع الرسم البياني torch.compile في PyTorch 2.x مع backend='inductor'. يقبل True → "default"، False → للتعطيل، أو نمط نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى الوضع السريع (eager) مع تحذير إذا كان غير مدعوم. |
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، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
Link to this sectionإعدادات التحقق#
تشمل إعدادات التحقق لنماذج 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 | يعين الحد الأدنى لعتبة الثقة للاكتشافات. تزيد القيم الأقل من الاسترجاع ولكنها قد تقدم المزيد من النتائج الإيجابية الخاطئة. تُستخدم أثناء التحقق لحساب منحنيات الدقة والاسترجاع. الافتراضي هو 0.01 للتحقق من OBB لتقليل استخدام الذاكرة. |
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، يستخدم الاستدلال المستطيل (rectangular inference) للتجميع (batching)، مما يقلل من الحشو (padding) ويزيد من السرعة والكفاءة المحتملة عن طريق معالجة الصور بنسبة العرض إلى الارتفاع الأصلية. |
split | str | 'val' | يحدد تقسيم مجموعة البيانات المستخدم للتحقق من الصحة (val، أو test، أو train). يسمح بالمرونة في اختيار شريحة البيانات لتقييم الأداء. |
project | str | None | اسم دليل المشروع حيث يتم حفظ مخرجات التحقق من الصحة. يساعد في تنظيم النتائج من تجارب أو نماذج مختلفة. |
name | str | None | اسم تشغيل التحقق من الصحة. يُستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات ومخرجات التحقق من الصحة. |
verbose | bool | True | إذا كان True، يعرض معلومات مفصلة أثناء عملية التحقق من الصحة، بما في ذلك المقاييس لكل فئة، وتقدم الدُفعات (batch progress)، ومعلومات تصحيح الأخطاء الإضافية. |
save_txt | bool | False | إذا كان True، يحفظ نتائج الكشف في ملفات نصية، ملف واحد لكل صورة، وهو مفيد للتحليل الإضافي، أو المعالجة اللاحقة المخصصة، أو التكامل مع أنظمة أخرى. |
save_conf | bool | False | إذا كان True، يتضمن قيم الثقة في الملفات النصية المحفوظة عند تفعيل save_txt، مما يوفر مخرجات أكثر تفصيلاً للتحليل والتصفية. |
workers | int | 8 | عدد سلاسل عمليات العامل (worker threads) لتحميل البيانات. القيم الأعلى يمكن أن تسرع معالجة البيانات ولكن قد تزيد من استخدام CPU. الضبط على 0 يستخدم السلسلة الرئيسية، والتي يمكن أن تكون أكثر استقرارًا في بعض البيئات. |
augment | bool | False | يفعل تعزيز وقت الاختبار (TTA) أثناء التحقق من الصحة، مما قد يحسن دقة الكشف على حساب سرعة الاستدلال من خلال تشغيل الاستدلال على نسخ معدلة من المدخلات. |
agnostic_nms | bool | False | يفعل كبح الحد الأقصى غير المرتبط (Non-Maximum Suppression) على مستوى الفئات، والذي يدمج الصناديق المتداخلة بغض النظر عن فئتها المتوقعة. مفيد للتطبيقات التي تركز على الحالات الفردية. بالنسبة للنماذج الشاملة (YOLO26، YOLOv10)، هذا يمنع فقط ظهور نفس الكشف بتسميات فئات متعددة (IoU=1.0 مكررات) ولا يقوم بقمع يعتمد على عتبة IoU بين الصناديق المتميزة. |
single_cls | bool | False | يعامل جميع الفئات كفئة واحدة أثناء التحقق من الصحة. مفيد لتقييم أداء النموذج في مهام الكشف الثنائي أو عندما لا تكون الفروق بين الفئات مهمة. |
visualize | bool | False | يصور الحقائق الأرضية، والإيجابيات الحقيقية، والإيجابيات الكاذبة، والسلبيات الكاذبة لكل صورة. مفيد لتصحيح الأخطاء وتفسير النموذج. |
show_labels | bool | True | يعرض تسميات الفئات في تصورات التحقق من الصحة عندما يكون visualize=True. اضبط على False للحصول على عرض أوضح للمطابقات والأخطاء. |
show_conf | bool | True | يعرض درجات الثقة في تصورات التحقق من الصحة عندما يكون visualize=True. اضبط على False للحصول على عرض أوضح للمطابقات والأخطاء. |
compile | bool أو str | False | يُفعّل تجميع الرسم البياني torch.compile في PyTorch 2.x مع backend='inductor'. يقبل True → "default"، False → للتعطيل، أو نمط نصي مثل "default"، "reduce-overhead"، "max-autotune-no-cudagraphs". يعود إلى الوضع السريع (eager) مع تحذير إذا كان غير مدعوم. |
end2end | bool | None | يتجاوز وضع النهاية إلى النهاية (end-to-end) في نماذج YOLO التي تدعم الاستدلال الخالي من NMS (YOLO26، YOLOv10). ضبطه على False يتيح لك تشغيل التحقق من الصحة باستخدام خط أنابيب NMS التقليدي، مما يسمح لك بالإضافة إلى ذلك باستخدام وسيط iou. |
يعد الضبط الدقيق والتجريب أمرًا حيويًا لضمان الأداء الأمثل ولاكتشاف ومنع الفرط في التخصيص.
Link to this sectionإعدادات التصدير#
تتضمن إعدادات التصدير لنماذج 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، مما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة. |
simplify | bool | True | يبسط رسم بياني للنموذج لصادرات ONNX باستخدام onnxslim، مما قد يحسن الأداء والتوافق مع محركات الاستدلال. |
opset | int | None | Specifies the ONNX opset version for compatibility with different ONNX parsers and runtimes. If not set, uses the latest supported version. |
workspace | float أو None | None | Sets the maximum workspace size in GiB for TensorRT optimizations, balancing memory usage and performance. Use None for auto-allocation by TensorRT up to device maximum. |
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' | Path to the dataset configuration file, essential for INT8 quantization calibration. If not specified with INT8 enabled, coco8.yaml will be used as a fallback for calibration. |
fraction | float | 1.0 | يحدد جزء مجموعة البيانات المراد استخدامه لمعايرة تكميم INT8. يسمح بالمعايرة على مجموعة فرعية من مجموعة البيانات الكاملة، وهو مفيد للتجارب أو عندما تكون الموارد محدودة. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام مجموعة البيانات الكاملة. |
end2end | bool | None | يتجاوز وضع النهاية إلى النهاية (end-to-end) في نماذج YOLO التي تدعم الاستدلال الخالي من NMS (YOLO26، YOLOv10). ضبطه على False يسمح لك بتصدير هذه النماذج لتكون متوافقة مع خط أنابيب المعالجة اللاحقة التقليدي القائم على NMS. انظر دليل الكشف من النهاية إلى النهاية للحصول على التفاصيل. |
تضمن التهيئة المدروسة تحسين النموذج المصدر لحالة استخدامه وعمله بفعالية في البيئة المستهدفة.
Link to this sectionإعدادات الحلول#
توفر إعدادات تهيئة حلول Ultralytics المرونة لتخصيص النماذج لمهام مثل عد الكائنات، وإنشاء الخرائط الحرارية، وتتبع التمرين، وتحليل البيانات، وتتبع المناطق، وإدارة الطوابير، والعد القائم على المنطقة. تسمح هذه الخيارات بإجراء تعديلات سهلة للحصول على نتائج دقيقة ومفيدة مصممة خصيصًا لاحتياجات محددة.
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
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' | المسار إلى دليل الصور المستخدم للبحث عن التشابه. |
imgsz | int | 640 | حجم صورة الإدخال لاستدلال النموذج. |
Link to this sectionإعدادات التعزيز#
تقنيات تعزيز البيانات ضرورية لتحسين قوة وأداء نموذج 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 | يقوم بقص الصورة (shear) بدرجة محددة، مما يحاكي تأثير رؤية الكائنات من زوايا مختلفة. |
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 فقط). يقبل قائمة من كائنات التحويل لاحتياجات التعزيز المتخصصة. |
اضبط هذه الإعدادات لتلبية متطلبات مجموعة البيانات والمهمة. يمكن أن يساعد التجريب بقيم مختلفة في العثور على استراتيجية التعزيز الأمثل للحصول على أفضل أداء للنموذج.
Link to this sectionإعدادات التسجيل، ونقاط الحفظ، والتخطيط#
يعد التسجيل ونقاط الحفظ والتخطيط وإدارة الملفات أموراً مهمة عند تدريب نموذج YOLO:
- Logging: Track the model's progress and diagnose issues using libraries like TensorBoard or by writing to a file.
- نقاط الحفظ: احفظ النموذج على فترات منتظمة لاستئناف التدريب أو التجربة بتهيئات مختلفة.
- التخطيط: تصور الأداء وتقدم التدريب باستخدام مكتبات مثل Matplotlib أو TensorBoard.
- إدارة الملفات: تنظيم الملفات التي تم إنشاؤها أثناء التدريب، مثل نقاط الحفظ وملفات السجل والرسوم البيانية، لسهولة الوصول إليها وتحليلها.
تساعد الإدارة الفعالة لهذه الجوانب في تتبع التقدم وتجعل تصحيح الأخطاء والتحسين أسهل.
| الوسيط | الافتراضي | الوصف |
|---|---|---|
project | None | يحدد الدليل الجذر لحفظ عمليات التدريب. إذا لم يتم تحديده، يتم حفظ العمليات تحت runs/<task>. يتم حفظ كل عملية في دليل فرعي منفصل. |
name | None | يعرف اسم التجربة. إذا لم يتم تحديده، يستخدم YOLO اسم الوضع ويزيده لكل عملية (مثلاً train، train-2) لتجنب الكتابة فوقها. |
exist_ok | False | يحدد ما إذا كان يجب الكتابة فوق دليل تجربة موجود. True يسمح بالكتابة فوقه؛ False يمنع ذلك. |
plots | True | يتحكم في إنشاء وحفظ رسوم بيانية للتدريب والتحقق من الصحة. اضبط على True لإنشاء رسوم بيانية مثل منحنيات الخسارة، ومنحنيات الدقة-الاستدعاء، ونماذج التنبؤات للتتبع المرئي للأداء. |
save | True | يفعل حفظ نقاط حفظ التدريب وأوزان النموذج النهائية. اضبط على True لحفظ حالات النموذج بشكل دوري، مما يسمح باستئناف التدريب أو نشر النموذج. |
Link to this sectionملف تهيئة مخصص#
تحميل YAML محفوظ لإعادة استخدام مجموعة كاملة من الوسائط دون تمريرها ضمن الخط. تتجاوز وسيطة cfg القيم من default.yaml، بينما لا تزال الوسائط الإضافية الممررة جنبًا إلى جنب لها الأولوية.
| الوسيط | الافتراضي | الوصف |
|---|---|---|
cfg | None | المسار إلى ملف YAML الذي تحل قيمه محل إدخالات default.yaml. انظر تجاوز ملف التهيئة الافتراضي للحصول على مثال عملي لـ CLI. |
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف يمكنني تحسين أداء نموذج YOLO الخاص بي أثناء التدريب؟#
حسن الأداء عن طريق ضبط المعلمات الفائقة مثل حجم الدفعة، ومعدل التعلم، والزخم، وتضاؤل الأوزان. اضبط إعدادات تعزيز البيانات، واختر المُحسن المناسب، واستخدم تقنيات مثل التوقف المبكر أو الدقة المختلطة. للحصول على التفاصيل، انظر دليل التدريب.
Link to this sectionما هي المعلمات الفائقة الرئيسية لدقة نموذج YOLO؟#
تشمل المعلمات الفائقة الرئيسية التي تؤثر على الدقة:
- حجم الدفعة (
batch): الأحجام الأكبر يمكن أن تثبت التدريب ولكنها تحتاج إلى مزيد من الذاكرة. - معدل التعلم (
lr0): المعدلات الأصغر توفر تعديلات دقيقة ولكن تقارباً أبطأ. - الزخم (
momentum): يسرع متجهات التدرج، ويخمد التذبذبات. - حجم الصورة (
imgsz): الأحجام الأكبر تحسن الدقة ولكن تزيد من الحمل الحسابي.
اضبط هذه بناءً على مجموعة البيانات والأجهزة الخاصة بك. تعرف على المزيد في إعدادات التدريب.
Link to this sectionكيف أقوم بضبط معدل التعلم لتدريب نموذج YOLO؟#
معدل التعلم (lr0) أمر بالغ الأهمية؛ ابدأ بـ 0.01 لـ SGD أو 0.001 لـ مُحسن Adam. راقب المقاييس واضبط حسب الحاجة. استخدم مجدولات معدل التعلم الجيبية (cos_lr) أو الإحماء (warmup_epochs، warmup_momentum). التفاصيل موجودة في دليل التدريب.
Link to this sectionما هي إعدادات الاستدلال الافتراضية لنماذج YOLO؟#
تشمل الإعدادات الافتراضية:
- عتبة الثقة (
conf=0.25): الحد الأدنى من الثقة للكشف. - عتبة IoU (
iou=0.7): لـ كبح الحد الأقصى غير المرتبط (NMS). - حجم الصورة (
imgsz=640): يعيد تغيير حجم صور الإدخال. - الجهاز (
device=None): يحدد CPU، GPU، Apple MPS أو Huawei Ascend NPU (npu).
للحصول على نظرة عامة كاملة، انظر إعدادات التنبؤ ودليل التنبؤ.
Link to this sectionلماذا نستخدم تدريب الدقة المختلطة مع نماذج YOLO؟#
يقلل تدريب الدقة المختلطة (amp=True) من استخدام الذاكرة ويسرع التدريب باستخدام FP16 وFP32. إنه مفيد لوحدات GPU الحديثة، مما يسمح بنماذج أكبر وحسابات أسرع دون فقدان كبير في الدقة. تعرف على المزيد في دليل التدريب.