انتقل إلى المحتوى

تدريب نموذجي مع Ultralytics YOLO

Ultralytics YOLO النظام البيئي والتكاملات

مقدمة

Training a deep learning model involves feeding it data and adjusting its parameters so that it can make accurate predictions. Train mode in Ultralytics YOLO11 is engineered for effective and efficient training of object detection models, fully utilizing modern hardware capabilities. This guide aims to cover all the details you need to get started with training your own models using YOLO11's robust set of features.



شاهد: How to Train a YOLO model on Your Custom Dataset in Google Colab.

لماذا تختار Ultralytics YOLO للتدريب؟

Here are some compelling reasons to opt for YOLO11's Train mode:

  • الكفاءة: حقق أقصى استفادة من أجهزتك، سواء كنت تستخدم إعدادًا واحدًا علىGPU أو تتوسع عبر وحدات معالجة رسومات متعددة.
  • براعه: تدرب على مجموعات البيانات المخصصة بالإضافة إلى المجموعات المتاحة بسهولة مثل COCO و VOC و ImageNet.
  • سهل الاستخدام: بسيطة لكنها قوية CLI و Python واجهات لتجربة تدريب مباشرة.
  • مرونة المعلمات الفائقة: مجموعة واسعة من المعلمات الفائقة القابلة للتخصيص لضبط أداء النموذج.

الميزات الرئيسية لوضع القطار

The following are some notable features of YOLO11's Train mode:

  • تنزيل مجموعة البيانات تلقائيا: يتم تنزيل مجموعات البيانات القياسية مثل COCO و VOC و ImageNet تلقائيا عند الاستخدام الأول.
  • دعم متعددGPU : قم بتوسيع نطاق جهودك التدريبية بسلاسة عبر وحدات معالجة رسومات متعددة لتسريع العملية.
  • تكوين المعلمات الفائقة: خيار تعديل المعلمات الفائقة من خلال ملفات تكوين YAML أو CLI الحجج.
  • التصور والمراقبة: تتبع مقاييس التدريب في الوقت الفعلي وتصور عملية التعلم للحصول على رؤى أفضل.

بقشيش

  • YOLO11 datasets like COCO, VOC, ImageNet and many others automatically download on first use, i.e. yolo train data=coco.yaml

أمثلة الاستخدام

Train YOLO11n on the COCO8 dataset for 100 epochs at image size 640. The training device can be specified using the 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 استخدم الأوامر التالية. قم بالتوسيع إلى وحدات معالجة رسومات إضافية حسب الحاجة.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with 2 GPUs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=0,1

تدريب Apple M1 و M2 MPS Apple M1 و M2

مع دعم رقاقات Apple M1 و M2 المدمجة في طرازي Ultralytics YOLO ، أصبح من الممكن الآن تدريب نماذجك على الأجهزة التي تستخدم إطار عمل الأداء المعدني القوي (MPS). يوفر MPS طريقة عالية الأداء لتنفيذ مهام الحوسبة ومعالجة الصور على السيليكون المخصص من Apple.

لتمكين التدريب على رقاقات Apple M1 و M2، يجب عليك تحديد "mps" كجهازك عند بدء عملية التدريب. فيما يلي مثال على كيفية القيام بذلك في Python وعبر سطر الأوامر:

MPS مثال تدريبي

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with MPS
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
# Start training from a pretrained *.pt model using MPS
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

مع الاستفادة من القوة الحاسوبية لشرائح M1/M2، مما يتيح معالجة أكثر كفاءة لمهام التدريب. للحصول على مزيد من الإرشادات التفصيلية وخيارات التكوين المتقدمة، يُرجى الرجوع إلى وثائقPyTorch MPS .

استئناف التدريبات المتقطعة

يعد استئناف التدريب من حالة محفوظة مسبقا ميزة حاسمة عند العمل مع نماذج التعلم العميق. يمكن أن يكون هذا مفيدا في سيناريوهات مختلفة ، مثل عندما تتم مقاطعة عملية التدريب بشكل غير متوقع ، أو عندما ترغب في مواصلة تدريب نموذج ببيانات جديدة أو لمزيد من العصور.

When training is resumed, Ultralytics YOLO loads the weights from the last saved model and also restores the optimizer state, learning rate scheduler, and the epoch number. This allows you to continue the training process seamlessly from where it was left off.

يمكنك بسهولة استئناف التدريب في Ultralytics YOLO عن طريق تعيين resume حجة ل True عند الاتصال ب train ، وتحديد المسار إلى .pt ملف يحتوي على أوزان النموذج المدربة جزئيا.

فيما يلي مثال على كيفية استئناف التدريب المتقطع باستخدام Python وعبر سطر الأوامر:

مثال على استئناف التدريب

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/last.pt")  # load a partially trained model

# Resume training
results = model.train(resume=True)
# Resume an interrupted training
yolo train resume model=path/to/last.pt

عن طريق الإعداد resume=Trueال train ستواصل الوظيفة التدريب من حيث توقفت ، باستخدام الحالة المخزنة في ملف "المسار / إلى / last.pt". إذا كان resume تم حذف الوسيطة أو تعيينها إلى Falseال train ستبدأ وظيفة دورة تدريبية جديدة.

Remember that checkpoints are saved at the end of every epoch by default, or at fixed intervals using the save_period وسيطة ، لذلك يجب عليك إكمال حقبة 1 على الأقل لاستئناف تشغيل التدريب.

إعدادات القطار

The training settings for YOLO models encompass various hyperparameters and configurations used during the training process. These settings influence the model's performance, speed, and accuracy. Key training settings include batch size, learning rate, momentum, and weight decay. Additionally, the choice of optimizer, loss function, and training dataset composition can impact the training process. Careful tuning and experimentation with these settings are crucial for optimizing performance.

جدال افتراضي وصف
model None يحدد ملف النموذج للتدريب. يقبل مسارا إلى أي منهما .pt نموذج تم تدريبه مسبقا أو أ .yaml ملف التكوين. ضروري لتحديد هيكل النموذج أو تهيئة الأوزان.
data None المسار إلى ملف تكوين مجموعة البيانات (على سبيل المثال، coco8.yaml). This file contains dataset-specific parameters, including paths to training and validation data, class names, and number of classes.
epochs 100 Total number of training epochs. Each epoch represents a full pass over the entire dataset. Adjusting this value can affect training duration and model performance.
time None الحد الأقصى لوقت التدريب بالساعات. إذا تم تعيينه، فإن هذا يتجاوز epochs وسيطة ، مما يسمح للتدريب بالتوقف تلقائيا بعد المدة المحددة. مفيد لسيناريوهات التدريب المقيدة بالوقت.
patience 100 Number of epochs to wait without improvement in validation metrics before early stopping the training. Helps prevent overfitting by stopping training when performance plateaus.
batch 16 Batch size, with three modes: set as an integer (e.g., batch=16)، الوضع التلقائي لاستخدام الذاكرة بنسبة 60% GPU (batch=-1)، أو الوضع التلقائي مع جزء استخدام محدد (batch=0.70).
imgsz 640 Target image size for training. All images are resized to this dimension before being fed into the model. Affects model accuracy and computational complexity.
save True Enables saving of training checkpoints and final model weights. Useful for resuming training or model deployment.
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 للاختيار التلقائي بناء على تكوين النموذج. يؤثر على سرعة التقارب والاستقرار.
verbose False تمكين الإخراج المطول أثناء التدريب ، وتوفير سجلات مفصلة وتحديثات التقدم. مفيد لتصحيح الأخطاء ومراقبة عملية التدريب عن كثب.
seed 0 يحدد البذور العشوائية للتدريب ، مما يضمن إمكانية تكرار النتائج عبر عمليات التشغيل بنفس التكوينات.
deterministic True يفرض استخدام الخوارزمية الحتمية ، مما يضمن قابلية التكرار ولكنه قد يؤثر على الأداء والسرعة بسبب القيود المفروضة على الخوارزميات غير الحتمية.
single_cls False يعامل جميع الفئات في مجموعات البيانات متعددة الفئات كفئة واحدة أثناء التدريب. مفيد لمهام التصنيف الثنائي أو عند التركيز على وجود الكائن بدلا من التصنيف.
rect False يتيح التدريب المستطيل ، وتحسين تكوين الدفعات للحد الأدنى من الحشو. يمكن أن يحسن الكفاءة والسرعة ولكنه قد يؤثر على دقة النموذج.
cos_lr False Utilizes a cosine learning rate scheduler, adjusting the learning rate following a cosine curve over epochs. Helps in managing learning rate for better convergence.
close_mosaic 10 Disables mosaic data augmentation in the last N epochs to stabilize training before completion. Setting to 0 disables this feature.
resume False يستأنف التدريب من آخر نقطة تفتيش محفوظة. يقوم تلقائيا بتحميل أوزان النموذج وحالة المحسن وعدد العصور، مع مواصلة التدريب بسلاسة.
amp True Enables Automatic Mixed Precision (AMP) training, reducing memory usage and possibly speeding up training with minimal impact on accuracy.
fraction 1.0 يحدد جزء مجموعة البيانات المراد استخدامه للتدريب. يسمح بالتدريب على مجموعة فرعية من مجموعة البيانات الكاملة ، وهو مفيد للتجارب أو عندما تكون الموارد محدودة.
profile False تمكين التنميط من ONNX و TensorRT سرعات أثناء التدريب ، مفيدة لتحسين نشر النموذج.
freeze None Freezes the first N layers of the model or specified layers by index, reducing the number of trainable parameters. Useful for fine-tuning or transfer learning.
lr0 0.01 معدل التعلم الأولي (أي SGD=1E-2, Adam=1E-3) . يعد ضبط هذه القيمة أمرا بالغ الأهمية لعملية التحسين ، مما يؤثر على مدى سرعة تحديث أوزان النموذج.
lrf 0.01 معدل التعلم النهائي كجزء من المعدل الأولي = (lr0 * lrf)، تستخدم جنبا إلى جنب مع برامج الجدولة لضبط معدل التعلم بمرور الوقت.
momentum 0.937 Momentum factor for SGD or beta1 for Adam optimizers, influencing the incorporation of past gradients in the current update.
weight_decay 0.0005 L2 regularization term, penalizing large weights to prevent overfitting.
warmup_epochs 3.0 عدد فترات الإحماء لمعدل التعلم ، وزيادة معدل التعلم تدريجيا من قيمة منخفضة إلى معدل التعلم الأولي لتحقيق الاستقرار في التدريب في وقت مبكر.
warmup_momentum 0.8 الزخم الأولي لمرحلة الإحماء ، والتكيف تدريجيا مع الزخم المحدد خلال فترة الإحماء.
warmup_bias_lr 0.1 معدل التعلم لمعلمات التحيز خلال مرحلة الإحماء ، مما يساعد على استقرار تدريب النموذج في العصور الأولية.
box 7.5 Weight of the box loss component in the loss function, influencing how much emphasis is placed on accurately predicting bounding box coordinates.
cls 0.5 وزن خسارة التصنيف في دالة الخسارة الكلية ، مما يؤثر على أهمية التنبؤ الصحيح بالفئة بالنسبة للمكونات الأخرى.
dfl 1.5 وزن الخسارة البؤرية للتوزيع ، المستخدمة في بعض YOLO إصدارات للتصنيف الدقيق الحبيبات.
pose 12.0 وزن فقدان الوضع في النماذج المدربة على تقدير الوضع ، مما يؤثر على التركيز على التنبؤ بدقة بالنقاط الرئيسية.
kobj 2.0 وزن فقدان كائن النقطة الرئيسية في نماذج تقدير الوضع ، وتحقيق التوازن بين ثقة الكشف ودقة الوضع.
label_smoothing 0.0 يمكن أن يؤدي تطبيق تجانس الملصقات ، وتليين الملصقات الصلبة على مزيج من الملصق المستهدف والتوزيع الموحد على الملصقات ، إلى تحسين التعميم.
nbs 64 حجم الدفعة الاسمي لتطبيع الخسارة.
overlap_mask True Determines whether segmentation masks should overlap during training, applicable in instance segmentation tasks.
mask_ratio 4 نسبة العينة السفلية لأقنعة التجزئة ، مما يؤثر على دقة الأقنعة المستخدمة أثناء التدريب.
dropout 0.0 معدل التسرب لتسوية مهام التصنيف ، ومنع الإفراط في التجهيز عن طريق حذف الوحدات بشكل عشوائي أثناء التدريب.
val True يتيح التحقق من الصحة أثناء التدريب ، مما يسمح بالتقييم الدوري لأداء النموذج على مجموعة بيانات منفصلة.
plots False يقوم بإنشاء وحفظ مخططات مقاييس التدريب والتحقق من الصحة، بالإضافة إلى أمثلة التنبؤ، مما يوفر رؤى مرئية حول أداء النموذج وتقدم التعلم.

ملاحظة حول إعدادات حجم الدفعة

ال batch يمكن تكوين الوسيطة بثلاث طرق:

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

إعدادات التعزيز والمعلمات الفائقة

Augmentation techniques are essential for improving the robustness and performance of YOLO models by introducing variability into the training data, helping the model generalize better to unseen data. The following table outlines the purpose and effect of each augmentation argument:

جدال نوع افتراضي نطاق وصف
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 يطبق تحويل منظور عشوائي على الصورة ، مما يعزز قدرة النموذج على فهم الكائنات في مساحة 3D.
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 - Copy-Paste augmentation method selection among the options of ("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 يقصاص صورة التصنيف إلى جزء صغير من حجمها للتأكيد على الميزات المركزية والتكيف مع مقاييس الكائن، مما يقلل من تشتيت الخلفية.

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

معلومات

لمزيد من المعلومات حول عمليات زيادة التدريب، راجع قسم المراجع.

تسجيل

In training a YOLO11 model, you might find it valuable to keep track of the model's performance over time. This is where logging comes into play. Ultralytics' YOLO provides support for three types of loggers - Comet, ClearML, and TensorBoard.

لاستخدام مسجل ، حدده من القائمة المنسدلة في مقتطف الشفرة أعلاه وقم بتشغيله. سيتم تثبيت المسجل المختار وتهيئته.

Comet

Comet هي منصة تسمح لعلماء البيانات والمطورين بتتبع التجارب والنماذج ومقارنتها وشرحها وتحسينها. يوفر وظائف مثل المقاييس في الوقت الفعلي ، واختلافات التعليمات البرمجية ، وتتبع المعلمات الفائقة.

لاستخدام Comet:

مثل

# pip install comet_ml
import comet_ml

comet_ml.init()

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

ClearML

ClearML هي منصة مفتوحة المصدر تعمل على أتمتة تتبع التجارب وتساعد في المشاركة الفعالة للموارد. إنه مصمم لمساعدة الفرق على إدارة أعمال التعلم الآلي وتنفيذها وإعادة إنتاجها بشكل أكثر كفاءة.

لاستخدام ClearML:

مثل

# pip install clearml
import clearml

clearml.browser_login()

بعد تشغيل هذا البرنامج النصي ، ستحتاج إلى تسجيل الدخول إلى ClearML على المتصفح ومصادقة جلستك.

تينسور بورد

TensorBoard is a visualization toolkit for TensorFlow. It allows you to visualize your TensorFlow graph, plot quantitative metrics about the execution of your graph, and show additional data like images that pass through it.

لاستخدام TensorBoard في Google Colab:

مثل

load_ext tensorboard
tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

لاستخدام TensorBoard محليا ، قم بتشغيل الأمر أدناه وعرض النتائج في http://localhost:6006/.

مثل

tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

سيؤدي هذا إلى تحميل TensorBoard وتوجيهه إلى الدليل حيث يتم حفظ سجلات التدريب الخاصة بك.

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

الأسئلة المتداولة

How do I train an object detection model using Ultralytics YOLO11?

To train an object detection model using Ultralytics YOLO11, you can either use the Python API or the CLI. Below is an example for both:

مثال للتدريب الفرديGPU و CPU

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

لمزيد من التفاصيل، راجع قسم إعدادات القطار.

What are the key features of Ultralytics YOLO11's Train mode?

The key features of Ultralytics YOLO11's Train mode include:

  • تنزيل مجموعة البيانات تلقائيًا: تنزيل مجموعات البيانات القياسية تلقائيًا مثل COCO و VOC و ImageNet.
  • دعم متعددGPU : توسيع نطاق التدريب عبر وحدات معالجة رسومات متعددة لمعالجة أسرع.
  • تكوين المعرفات التشعبية: تخصيص المعلمات التشعبية من خلال ملفات YAML أو الوسيطات CLI .
  • التصور والمراقبة: تتبع مقاييس التدريب في الوقت الفعلي للحصول على رؤى أفضل.

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

How do I resume training from an interrupted session in Ultralytics YOLO11?

لاستئناف التدريب من جلسة متقطعة، قم بتعيين resume حجة ل True وتحديد المسار إلى آخر نقطة تفتيش محفوظة.

مثال على استئناف التدريب

from ultralytics import YOLO

# Load the partially trained model
model = YOLO("path/to/last.pt")

# Resume training
results = model.train(resume=True)
yolo train resume model=path/to/last.pt

راجع القسم الخاص باستئناف التدريبات المتقطعة لمزيد من المعلومات.

Can I train YOLO11 models on Apple M1 and M2 chips?

Yes, Ultralytics YOLO11 supports training on Apple M1 and M2 chips utilizing the Metal Performance Shaders (MPS) framework. Specify 'mps' as your training device.

MPS مثال تدريبي

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.pt")

# Train the model on M1/M2 chip
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

للمزيد من التفاصيل، راجع قسم التدريب على Apple M1 و M2 MPS .

ما هي إعدادات التدريب الشائعة، وكيف يمكنني تهيئتها؟

Ultralytics YOLO11 allows you to configure a variety of training settings such as batch size, learning rate, epochs, and more through arguments. Here's a brief overview:

جدال افتراضي وصف
model None المسار إلى ملف النموذج للتدريب.
data None المسار إلى ملف تكوين مجموعة البيانات (على سبيل المثال، coco8.yaml).
epochs 100 إجمالي عدد الحلقات التدريبية.
batch 16 حجم الدفعة، قابل للتعديل كعدد صحيح أو وضع تلقائي.
imgsz 640 حجم الصورة المستهدف للتدريب.
device None جهاز (أجهزة) حاسوبية للتدريب مثل cpu, 0, 0,1أو mps.
save True تمكين حفظ نقاط التحقق من التدريب وأوزان النموذج النهائي.

للحصول على دليل متعمق حول إعدادات التدريب، راجع قسم إعدادات التدريب.


📅 Created 11 months ago ✏️ Updated 13 days ago

التعليقات