التدريب النموذجي مع Ultralytics YOLO
مقدمة
ينطوي تدريب نموذج التعلم العميق على تغذيته بالبيانات وتعديل معلماته حتى يتمكن من إجراء تنبؤات دقيقة. تم تصميم وضع التدريب في Ultralytics YOLO11 لتدريب نماذج الكشف عن الكائنات بفعالية وكفاءة، مع الاستفادة الكاملة من قدرات الأجهزة الحديثة. يهدف هذا الدليل إلى تغطية جميع التفاصيل التي تحتاجها للبدء في تدريب نماذجك الخاصة باستخدام مجموعة الميزات القوية YOLO11.
شاهد: كيفية تدريب نموذج YOLO على مجموعة بياناتك المخصصة في Google كولاب.
لماذا تختار Ultralytics YOLO للتدريب؟
فيما يلي بعض الأسباب المقنعة لاختيار وضع القطار YOLO11:
- الكفاءة: حقق أقصى استفادة من أجهزتك، سواء كنت تستخدم إعدادًا واحدًا علىGPU أو تتوسع عبر وحدات معالجة رسومات متعددة.
- تعدد الاستخدامات: التدريب على مجموعات بيانات مخصصة بالإضافة إلى مجموعات البيانات المتاحة بسهولة مثل COCO و VOC و ImageNet.
- سهولة الاستخدام: واجهات CLI و Python بسيطة وقوية في نفس الوقت لتجربة تدريب مباشرة.
- مرونة البارامتر الفائق: مجموعة واسعة من البارامترات الفائقة القابلة للتخصيص لضبط أداء النموذج.
الميزات الرئيسية لوضع القطار
فيما يلي بعض الميزات البارزة في وضع القطار YOLO11:
- تنزيل مجموعة البيانات تلقائيًا: يتم تنزيل مجموعات البيانات القياسية مثل COCO و VOC و ImageNet تلقائيًا عند الاستخدام الأول.
- دعم متعددGPU : قم بتوسيع نطاق جهودك التدريبية بسلاسة عبر وحدات معالجة رسومات متعددة لتسريع العملية.
- تكوين المعرف التشعبي: خيار تعديل المعلمات التشعبية من خلال ملفات تكوين YAML أو الوسيطات CLI .
- التصور والمراقبة: تتبع مقاييس التدريب في الوقت الفعلي وتصور عملية التعلم للحصول على رؤى أفضل.
نصيحة
- YOLO11 مجموعات البيانات مثل COCO و VOC و ImageNet والعديد من مجموعات البيانات الأخرى التي يتم تنزيلها تلقائيًا عند أول استخدام، أي
yolo train data=coco.yaml
أمثلة على الاستخدام
تدريب YOLO11n على مجموعة بيانات COCO8 ل 100 الحقب الزمنية بحجم الصورة 640. يمكن تحديد جهاز التدريب باستخدام device
الوسيطة. إذا لم يتم تمرير أي وسيطة GPU device=0
إذا كان متاحًا، وإلا device='cpu'
سيتم استخدامها. انظر قسم الحجج أدناه للحصول على قائمة كاملة بوسائط التدريب.
مثال للتدريب الفرديGPU و CPU
يتم تحديد الجهاز تلقائيًا. إذا كان GPU متاحًا فسيتم استخدامه، وإلا سيبدأ التدريب على CPU.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.yaml") # build a new model from YAML
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640
تدريب متعددGPU
يسمح التدريب متعددGPU باستخدام أكثر كفاءة لموارد الأجهزة المتاحة من خلال توزيع حمل التدريب على وحدات معالجة رسومات متعددة. تتوفر هذه الميزة من خلال كل من واجهة برمجة التطبيقات Python وواجهة سطر الأوامر. لتمكين التدريب المتعددGPU ، حدد معرّفات الأجهزة GPU التي ترغب في استخدامها.
مثال تدريب متعددGPU متعدد
للتدريب باستخدام وحدتي معالجة رسومات، CUDA الأجهزة 0 و1 استخدم الأوامر التالية. قم بالتوسيع إلى وحدات معالجة رسومات إضافية حسب الحاجة.
تدريب Apple Silicon MPS Apple
مع دعم رقاقات Apple السيليكونية المدمجة في طرازات Ultralytics YOLO ، أصبح من الممكن الآن تدريب نماذجك على الأجهزة التي تستخدم إطار عمل الأداء المعدني القوي (MPS). يوفر MPS طريقة عالية الأداء لتنفيذ مهام الحوسبة ومعالجة الصور على سيليكون Apple المخصص.
لتمكين التدريب على رقائق السيليكون من Apple، يجب عليك تحديد "mps" كجهازك عند بدء عملية التدريب. فيما يلي مثال على كيفية القيام بذلك في Python وعبر سطر الأوامر:
MPS مثال تدريبي
مع الاستفادة من القوة الحسابية لشرائح السيليكون من Apple، مما يتيح معالجة أكثر كفاءة لمهام التدريب. لمزيد من الإرشادات التفصيلية وخيارات التكوين المتقدمة، يُرجى الرجوع إلى وثائقPyTorch MPS .
استئناف التدريبات المتقطعة
يعد استئناف التدريب من حالة محفوظة مسبقًا ميزة مهمة عند العمل مع نماذج التعلم العميق. يمكن أن يكون هذا مفيدًا في سيناريوهات مختلفة، مثل عندما تنقطع عملية التدريب بشكل غير متوقع، أو عندما ترغب في مواصلة تدريب نموذج ببيانات جديدة أو لمزيد من الحقب الزمنية.
عند استئناف التدريب، يقوم الموقع Ultralytics YOLO بتحميل الأوزان من آخر نموذج محفوظ، ويستعيد أيضًا حالة المُحسِّن وجدولة معدل التعلم ورقم الحلقة الزمنية. يتيح لك ذلك متابعة عملية التدريب بسلاسة من حيث توقفت.
يمكنك استئناف التدريب بسهولة في Ultralytics YOLO عن طريق تعيين resume
حجة لـ True
عند استدعاء train
وتحديد المسار إلى طريقة .pt
ملف يحتوي على أوزان النموذج المدرّب جزئيًا.
فيما يلي مثال على كيفية استئناف تدريب متقطع باستخدام Python وعبر سطر الأوامر:
مثال للتدريب على السيرة الذاتية
من خلال الإعداد resume=True
فإن train
ستواصل الدالة التدريب من حيث توقفت، باستخدام الحالة المخزّنة في ملف "المسار/إلى/لاست.pt". إذا كانت resume
أو تم حذف الوسيطة أو ضبطها على False
فإن train
ستبدأ وظيفة بدء دورة تدريبية جديدة.
تذكر أنه يتم حفظ نقاط التحقق في نهاية كل حقبة زمنية بشكل افتراضي، أو على فترات زمنية ثابتة باستخدام save_period
حجة، لذا يجب عليك إكمال حقبة زمنية واحدة على الأقل لاستئناف التدريب.
إعدادات القطار
تشتمل إعدادات التدريب لنماذج YOLO على مختلف المعلمات الفائقة والتكوينات المستخدمة أثناء عملية التدريب. تؤثر هذه الإعدادات على أداء النموذج وسرعته ودقته. تتضمن إعدادات التدريب الرئيسية حجم الدُفعات ومعدل التعلّم والزخم وتضاؤل الوزن. بالإضافة إلى ذلك، يمكن أن يؤثر اختيار المُحسِّن ووظيفة الخسارة وتكوين مجموعة بيانات التدريب على عملية التدريب. يعد الضبط والتجريب الدقيق لهذه الإعدادات أمرًا بالغ الأهمية لتحسين الأداء.
الجدال | افتراضي | الوصف |
---|---|---|
model |
None |
يحدد ملف النموذج للتدريب. يقبل مسارًا إما إلى .pt نموذج تم تدريبه مسبقًا أو .yaml ملف التكوين. ضروري لتحديد بنية النموذج أو تهيئة الأوزان. |
data |
None |
المسار إلى ملف تكوين مجموعة البيانات (على سبيل المثال, coco8.yaml ). يحتوي هذا الملف على معلمات خاصة بمجموعة البيانات، بما في ذلك مسارات التدريب و بيانات التحقق من الصحةوأسماء الفصول، وعدد الفصول. |
epochs |
100 |
إجمالي عدد الحلقات التدريبية. تمثل كل حلقة تدريبية تمرينًا كاملاً على مجموعة البيانات بأكملها. يمكن أن يؤثر تعديل هذه القيمة على مدة التدريب وأداء النموذج. |
time |
None |
الحد الأقصى لوقت التدريب بالساعات. إذا تم تعيينه، فإن هذا يتجاوز epochs مما يسمح بإيقاف التدريب تلقائيًا بعد المدة المحددة. مفيد لسيناريوهات التدريب المقيدة بالوقت. |
patience |
100 |
عدد الحقب الزمنية التي يجب انتظارها دون حدوث تحسن في مقاييس التحقق من الصحة قبل إيقاف التدريب مبكرًا. يساعد على منع الإفراط في التركيب عن طريق إيقاف التدريب عند توقف الأداء. |
batch |
16 |
حجم الدفعة، مع ثلاثة أوضاع: التعيين كعدد صحيح (على سبيل المثال, batch=16 )، الوضع التلقائي لاستخدام الذاكرة بنسبة 60% GPU (batch=-1 )، أو الوضع التلقائي مع جزء استخدام محدد (batch=0.70 ). |
imgsz |
640 |
حجم الصورة المستهدف للتدريب. يتم تغيير حجم جميع الصور إلى هذا البعد قبل إدخالها في النموذج. يؤثر على دقة النموذج والتعقيد الحسابي. |
save |
True |
تمكين حفظ نقاط مراجعة التدريب وأوزان النموذج النهائي. مفيد لاستئناف التدريب أو نشر النموذج. |
save_period |
-1 |
تواتر حفظ نقاط التحقق من النموذج، محدداً بالأحقاب الزمنية. تعطل القيمة -1 هذه الميزة. مفيدة لحفظ النماذج المؤقتة أثناء جلسات التدريب الطويلة. |
cache |
False |
تمكين التخزين المؤقت لصور مجموعة البيانات في الذاكرة (True /ram )، على القرص (disk )، أو تعطيله (False ). يحسن سرعة التدريب عن طريق تقليل إدخال/إخراج القرص على حساب زيادة استخدام الذاكرة. |
device |
None |
يحدد الجهاز (الأجهزة) الحسابية للتدريب: جهاز (أجهزة) حسابية واحدة GPU (device=0 )، وحدات معالجة رسومات متعددة (device=0,1 )، CPU (device=cpu )، أو MPS لسيليكون Apple (device=mps ). |
workers |
8 |
عدد الخيوط العاملة لتحميل البيانات (لكل RANK إذا كان التدريب متعددGPU ). يؤثر على سرعة المعالجة المسبقة للبيانات وتغذيتها في النموذج، وهو مفيد بشكل خاص في الإعدادات المتعددةGPU . |
project |
None |
اسم دليل المشروع حيث يتم حفظ مخرجات التدريب. يسمح بالتخزين المنظم للتجارب المختلفة. |
name |
None |
اسم التشغيل التدريبي. يُستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات ومخرجات التدريب. |
exist_ok |
False |
إذا كان صواب، يسمح بالكتابة فوق دليل مشروع/اسم موجود. مفيد للتجربة التكرارية دون الحاجة إلى مسح المخرجات السابقة يدويًا. |
pretrained |
True |
يحدد ما إذا كان سيبدأ التدريب من نموذج مدرب مسبقًا أم لا. يمكن أن تكون قيمة منطقية أو مسار سلسلة لنموذج محدد يتم تحميل الأوزان منه. يعزز كفاءة التدريب وأداء النموذج. |
optimizer |
'auto' |
اختيار مُحسِّن للتدريب. تشمل الخيارات SGD , Adam , AdamW , NAdam , RAdam , RMSProp إلخ، أو auto للاختيار التلقائي بناءً على تكوين النموذج. يؤثر على سرعة التقارب والاستقرار. |
seed |
0 |
يضبط البذرة العشوائية للتدريب، مما يضمن إمكانية تكرار النتائج عبر عمليات التشغيل بنفس التكوينات. |
deterministic |
True |
يفرض استخدام خوارزمية حتمية، مما يضمن قابلية التكرار ولكنه قد يؤثر على الأداء والسرعة بسبب التقييد على الخوارزميات غير الحتمية. |
single_cls |
False |
يعامل جميع الفئات في مجموعات البيانات متعددة الفئات كفئة واحدة أثناء التدريب. مفيد لمهام التصنيف الثنائي أو عند التركيز على وجود الكائنات بدلاً من التصنيف. |
rect |
False |
تمكين التدريب المستطيل، وتحسين تكوين الدُفعات للحصول على الحد الأدنى من الحشو. يمكن أن يحسن الكفاءة والسرعة ولكنه قد يؤثر على دقة النموذج. |
cos_lr |
False |
يستخدم أداة جدولة معدل التعلُّم بجيب التمام لضبط معدل التعلُّم باتباع منحنى جيب التمام على مدى الحقب الزمنية. يساعد في إدارة معدل التعلم لتحسين التقارب. |
close_mosaic |
10 |
تعطيل زيادة بيانات الفسيفساء في آخر N حقبة زمنية لتثبيت التدريب قبل اكتماله. يؤدي الضبط على 0 إلى تعطيل هذه الميزة. |
resume |
False |
استئناف التدريب من آخر نقطة تفتيش محفوظة. يقوم تلقائيًا بتحميل أوزان النموذج وحالة المُحسِّن وعدد الحقبة، ويواصل التدريب بسلاسة. |
amp |
True |
تمكين التدريب التلقائي مختلط الدقة (AMP)، مما يقلل من استخدام الذاكرة وربما يسرّع التدريب بأقل تأثير على الدقة. |
fraction |
1.0 |
تحديد جزء من مجموعة البيانات المراد استخدامها للتدريب. يسمح بالتدريب على مجموعة فرعية من مجموعة البيانات الكاملة، وهو أمر مفيد للتجارب أو عندما تكون الموارد محدودة. |
profile |
False |
يتيح تحديد سرعات ONNX و TensorRT أثناء التدريب، وهو أمر مفيد لتحسين نشر النموذج. |
freeze |
None |
يجمد الطبقات N الأولى من النموذج أو الطبقات المحددة حسب الفهرس، مما يقلل من عدد المعلمات القابلة للتدريب. مفيد للضبط الدقيق أو نقل التعلّم. |
lr0 |
0.01 |
معدل التعلم الأولي (أي SGD=1E-2 , Adam=1E-3 ) . يعد ضبط هذه القيمة أمرًا بالغ الأهمية لعملية التحسين، حيث يؤثر على سرعة تحديث أوزان النموذج. |
lrf |
0.01 |
معدل التعلم النهائي كجزء من المعدل الأولي = (lr0 * lrf )، تُستخدم جنبًا إلى جنب مع أدوات الجدولة لضبط معدل التعلم بمرور الوقت. |
momentum |
0.937 |
عامل الزخم لـ SGD أو بيتا1 لمُحسِّنات آدم، مما يؤثر على دمج التدرجات السابقة في التحديث الحالي. |
weight_decay |
0.0005 |
مصطلح التنظيم L2، مع معاقبة الأوزان الكبيرة لمنع الإفراط في التركيب. |
warmup_epochs |
3.0 |
عدد الحقب الزمنية لإحماء معدل التعلم، وزيادة معدل التعلم تدريجيًا من قيمة منخفضة إلى معدل التعلم الأولي لتحقيق الاستقرار في التدريب في وقت مبكر. |
warmup_momentum |
0.8 |
الزخم المبدئي لمرحلة الإحماء، والتكيف التدريجي مع الزخم المحدد خلال فترة الإحماء. |
warmup_bias_lr |
0.1 |
معدل التعلم لمعلمات التحيز أثناء مرحلة الإحماء، مما يساعد على استقرار تدريب النموذج في الحقب الأولية. |
box |
7.5 |
وزن مكون خسارة الصندوق في دالة الخسارة، مما يؤثر على مدى التركيز على التنبؤ بدقة بإحداثيات الصندوق المحدد. |
cls |
0.5 |
وزن خسارة التصنيف في دالة الخسارة الإجمالية، مما يؤثر على أهمية التنبؤ الصحيح للفئة بالنسبة للمكونات الأخرى. |
dfl |
1.5 |
وزن الخسارة البؤرية للتوزيع، المستخدم في بعض إصدارات YOLO للتصنيف الدقيق. |
pose |
12.0 |
وزن فقدان الوضعية في النماذج المدرّبة على تقدير الوضعية، مما يؤثر على التركيز على التنبؤ بدقة بنقاط الوضعية الرئيسية. |
kobj |
2.0 |
ترجيح فقدان نقطة الارتكاز في نماذج تقدير الوضعية في نماذج تقدير الوضعية، وموازنة الثقة في الكشف مع دقة الوضعية. |
label_smoothing |
0.0 |
يمكن أن يؤدي تطبيق تنعيم التسمية، وتنعيم التسميات الصلبة إلى مزيج من التسمية الهدف والتوزيع الموحد على التسميات، إلى تحسين التعميم. |
nbs |
64 |
حجم الدفعة الاسمي لتطبيع الخسارة. |
overlap_mask |
True |
يحدد ما إذا كان ينبغي دمج أقنعة الكائنات في قناع واحد للتدريب، أو الاحتفاظ بها منفصلة لكل كائن. في حالة التداخل، يتم تراكب القناع الأصغر فوق القناع الأكبر أثناء الدمج. |
mask_ratio |
4 |
نسبة تقليل العينة لأقنعة التجزئة، مما يؤثر على دقة الأقنعة المستخدمة أثناء التدريب. |
dropout |
0.0 |
معدل التسرب من أجل التنظيم في مهام التصنيف، مما يمنع الإفراط في التركيب عن طريق حذف الوحدات عشوائيًا أثناء التدريب. |
val |
True |
تمكين التحقق من الصحة أثناء التدريب، مما يسمح بإجراء تقييم دوري لأداء النموذج على مجموعة بيانات منفصلة. |
plots |
False |
توليد وحفظ مخططات لمقاييس التدريب والتحقق من الصحة، بالإضافة إلى أمثلة التنبؤ، مما يوفر رؤى مرئية حول أداء النموذج وتقدم التعلم. |
ملاحظة حول إعدادات حجم الدُفعات
إن batch
يمكن تكوين الوسيطة بثلاث طرق:
- حجم الدفعة الثابتة: تعيين قيمة صحيحة (على سبيل المثال,
batch=16
)، مع تحديد عدد الصور لكل دفعة مباشرةً. - الوضع التلقائي (60% GPU ذاكرة ): الاستخدام
batch=-1
لضبط حجم الدُفعات تلقائيًا للحصول على استخدام ذاكرة CUDA بنسبة 60% تقريبًا. - الوضع التلقائي مع جزء الاستخدام: تعيين قيمة الكسر (على سبيل المثال,
batch=0.70
) لضبط حجم الدفعة بناءً على الجزء المحدد من استخدام الذاكرة GPU .
إعدادات التعزيز والمعلمات الفائقة
تُعد تقنيات التعزيز ضرورية لتحسين متانة وأداء نماذج YOLO من خلال إدخال التباين في بيانات التدريب، مما يساعد النموذج على التعميم بشكل أفضل على البيانات غير المرئية. يوضّح الجدول التالي الغرض من كل وسيطة تعزيز وتأثيرها:
الجدال | النوع | افتراضي | النطاق | الوصف |
---|---|---|---|---|
hsv_h |
float |
0.015 |
0.0 - 1.0 |
يضبط تدرج ألوان الصورة بجزء بسيط من عجلة الألوان، مما يُدخل تبايناً في الألوان. يساعد النموذج على التعميم عبر ظروف الإضاءة المختلفة. |
hsv_s |
float |
0.7 |
0.0 - 1.0 |
يغير تشبع الصورة بجزء صغير، مما يؤثر على كثافة الألوان. مفيد لمحاكاة الظروف البيئية المختلفة. |
hsv_v |
float |
0.4 |
0.0 - 1.0 |
يعدل قيمة (سطوع) الصورة بجزء بسيط، مما يساعد النموذج على الأداء الجيد في ظروف الإضاءة المختلفة. |
degrees |
float |
0.0 |
-180 - +180 |
تدوير الصورة بشكل عشوائي ضمن نطاق الدرجات المحددة، مما يحسن قدرة النموذج على التعرف على الأجسام في اتجاهات مختلفة. |
translate |
float |
0.1 |
0.0 - 1.0 |
ينقل الصورة أفقياً ورأسياً بجزء من حجم الصورة، مما يساعد في تعلم اكتشاف الأجسام المرئية جزئياً. |
scale |
float |
0.5 |
>=0.0 |
قياس الصورة بمعامل كسب، لمحاكاة الأجسام على مسافات مختلفة من الكاميرا. |
shear |
float |
0.0 |
-180 - +180 |
قم بقص الصورة بدرجة محددة، لمحاكاة تأثير الأجسام التي يتم عرضها من زوايا مختلفة. |
perspective |
float |
0.0 |
0.0 - 0.001 |
يطبق تحويل منظور عشوائي على الصورة، مما يعزز قدرة النموذج على فهم الأجسام في الفضاء ثلاثي الأبعاد. |
flipud |
float |
0.0 |
0.0 - 1.0 |
يقلب الصورة رأسًا على عقب بالاحتمالية المحددة، مما يزيد من تباين البيانات دون التأثير على خصائص الكائن. |
fliplr |
float |
0.5 |
0.0 - 1.0 |
تقلب الصورة من اليسار إلى اليمين بالاحتمالية المحددة، وهي مفيدة لتعلم الأجسام المتماثلة وزيادة تنوع مجموعة البيانات. |
bgr |
float |
0.0 |
0.0 - 1.0 |
قم بقلب قنوات الصورة من RGB إلى BGR بالاحتمالية المحددة، وهو أمر مفيد لزيادة المتانة في حالة الترتيب غير الصحيح للقنوات. |
mosaic |
float |
1.0 |
0.0 - 1.0 |
يدمج أربع صور تدريبية في صورة واحدة، لمحاكاة تركيبات مختلفة للمشهد وتفاعلات الأجسام. فعالة للغاية لفهم المشهد المعقد. |
mixup |
float |
0.0 |
0.0 - 1.0 |
يمزج صورتين وتسمياتهما، مما يؤدي إلى إنشاء صورة مركبة. يعزز قدرة النموذج على التعميم من خلال إدخال ضوضاء التسمية والتباين البصري. |
copy_paste |
float |
0.0 |
0.0 - 1.0 |
نسخ كائنات من صورة ولصقها على صورة أخرى، وهو أمر مفيد لزيادة مثيلات الكائنات وتعلم انسداد الكائنات. |
copy_paste_mode |
str |
flip |
- | اختيار طريقة زيادة النسخ واللصق من بين خيارات ("flip" , "mixup" ). |
auto_augment |
str |
randaugment |
- | يطبق تلقائياً سياسة زيادة محددة مسبقاً (randaugment , autoaugment , augmix )، وتحسين مهام التصنيف من خلال تنويع الميزات المرئية. |
erasing |
float |
0.4 |
0.0 - 0.9 |
محو جزء من الصورة عشوائيًا أثناء التدريب على التصنيف، مما يشجع النموذج على التركيز على الميزات الأقل وضوحًا للتعرف عليها. |
crop_fraction |
float |
1.0 |
0.1 - 1.0 |
اقتصاص صورة التصنيف إلى جزء صغير من حجمها للتأكيد على الميزات المركزية والتكيف مع مقاييس الأجسام، مما يقلل من تشتيت انتباه الخلفية. |
يمكن تعديل هذه الإعدادات لتلبية المتطلبات المحددة لمجموعة البيانات والمهمة المطروحة. يمكن أن تساعد تجربة قيم مختلفة في العثور على استراتيجية التعزيز المثلى التي تؤدي إلى أفضل أداء للنموذج.
المعلومات
لمزيد من المعلومات حول عمليات تعزيز التدريب، راجع قسم المراجع.
التسجيل
عند تدريب نموذج YOLO11 ، قد تجد أنه من المفيد تتبع أداء النموذج بمرور الوقت. وهنا يأتي دور التسجيل. Ultralytics يوفر YOLO دعمًا لثلاثة أنواع من أدوات التسجيل - Comet و ClearML و TensorBoard.
لاستخدام أحد المسجّلات، اختره من القائمة المنسدلة في مقتطف الشيفرة أعلاه وشغّله. سيتم تثبيت المسجل المختار وتهيئته.
Comet
Comet هي منصة تسمح لعلماء البيانات والمطورين بتتبع التجارب والنماذج ومقارنتها وشرحها وتحسينها. وهي توفر وظائف مثل المقاييس في الوقت الحقيقي، واختلافات التعليمات البرمجية، وتتبع المعلمات الفائقة.
لاستخدام Comet:
تذكر تسجيل الدخول إلى حسابك Comet على موقعهم الإلكتروني والحصول على مفتاح API الخاص بك. ستحتاج إلى إضافة هذا إلى متغيرات البيئة أو البرنامج النصي الخاص بك لتسجيل تجاربك.
ClearML
ClearML هي منصة مفتوحة المصدر تعمل على أتمتة تتبع التجارب وتساعد في مشاركة الموارد بكفاءة. وهي مصممة لمساعدة الفرق على إدارة وتنفيذ وإعادة إنتاج أعمال تعلّم الآلة بكفاءة أكبر.
لاستخدام ClearML:
بعد تشغيل هذا البرنامج النصي، ستحتاج إلى تسجيل الدخول إلى حسابك ClearML على المتصفح ومصادقة جلستك.
لوحة تينسور بورد
TensorBoard عبارة عن مجموعة أدوات تصور ل TensorFlow. يسمح لك بتصور الرسم البياني TensorFlow الخاص بك، ورسم مقاييس كمية حول تنفيذ الرسم البياني الخاص بك، وإظهار بيانات إضافية مثل الصور التي تمر عبره.
لاستخدام TensorBoard في Google Colab:
مثال على ذلك
لاستخدام TensorBoard محليًا قم بتشغيل الأمر أدناه وعرض النتائج على http://localhost:6006/.
سيؤدي هذا إلى تحميل TensorBoard وتوجيهه إلى الدليل حيث يتم حفظ سجلات التدريب الخاصة بك.
بعد إعداد السجل الخاص بك، يمكنك بعد ذلك متابعة تدريب نموذجك. سيتم تسجيل جميع مقاييس التدريب تلقائيًا في النظام الأساسي الذي اخترته، ويمكنك الوصول إلى هذه السجلات لمراقبة أداء نموذجك بمرور الوقت، ومقارنة النماذج المختلفة، وتحديد مجالات التحسين.
الأسئلة الشائعة
كيف يمكنني تدريب نموذج اكتشاف الكائنات باستخدام Ultralytics YOLO11 ؟
لتدريب نموذج اكتشاف الكائنات باستخدام Ultralytics YOLO11 ، يمكنك إما استخدام واجهة برمجة التطبيقات Python أو CLI. فيما يلي مثال لكليهما:
مثال للتدريب الفرديGPU و CPU
لمزيد من التفاصيل، راجع قسم إعدادات القطار.
ما هي الميزات الرئيسية لوضع القطار Ultralytics YOLO11 ؟
تتضمن الميزات الرئيسية لوضع القطار Ultralytics YOLO11 'Train 'ما يلي:
- تنزيل مجموعة البيانات تلقائيًا: تنزيل مجموعات البيانات القياسية تلقائيًا مثل COCO و VOC و ImageNet.
- دعم متعددGPU : توسيع نطاق التدريب عبر وحدات معالجة رسومات متعددة لمعالجة أسرع.
- تكوين المعرفات التشعبية: تخصيص المعلمات التشعبية من خلال ملفات YAML أو الوسيطات CLI .
- التصور والمراقبة: تتبع مقاييس التدريب في الوقت الفعلي للحصول على رؤى أفضل.
هذه الميزات تجعل التدريب فعالاً وقابلاً للتخصيص حسب احتياجاتك. لمزيد من التفاصيل، راجع قسم الميزات الرئيسية لوضع التدريب.
كيف يمكنني استئناف التدريب من جلسة متقطعة في Ultralytics YOLO11 ؟
لاستئناف التدريب من جلسة متقطعة، قم بتعيين resume
حجة لـ True
وتحديد المسار إلى آخر نقطة تفتيش محفوظة.
مثال للتدريب على السيرة الذاتية
راجع القسم الخاص باستئناف التدريبات المتقطعة لمزيد من المعلومات.
هل يمكنني تدريب نماذج YOLO11 على رقائق السيليكون من Apple؟
نعم، يدعم موقع Ultralytics YOLO11 التدريب على رقائق السيليكون من Apple باستخدام إطار عمل الأداء المعدني (MPS). حدد "mps" كجهاز التدريب الخاص بك.
MPS مثال تدريبي
للمزيد من التفاصيل، راجع قسم تدريب Apple Silicon MPS .
ما هي إعدادات التدريب الشائعة، وكيف يمكنني تهيئتها؟
Ultralytics YOLO11 يسمح لك بتكوين مجموعة متنوعة من إعدادات التدريب مثل حجم الدُفعات ومعدل التعلُّم والحلقات والمزيد من خلال الوسيطات. إليك نظرة عامة موجزة:
الجدال | افتراضي | الوصف |
---|---|---|
model |
None |
المسار إلى ملف النموذج للتدريب. |
data |
None |
المسار إلى ملف تكوين مجموعة البيانات (على سبيل المثال, coco8.yaml ). |
epochs |
100 |
إجمالي عدد الحلقات التدريبية. |
batch |
16 |
حجم الدفعة، قابل للتعديل كعدد صحيح أو وضع تلقائي. |
imgsz |
640 |
حجم الصورة المستهدف للتدريب. |
device |
None |
جهاز (أجهزة) حاسوبية للتدريب مثل cpu , 0 , 0,1 أو mps . |
save |
True |
تمكين حفظ نقاط التحقق من التدريب وأوزان النموذج النهائي. |
للحصول على دليل متعمق حول إعدادات التدريب، راجع قسم إعدادات التدريب.