Skip to content

Modèle de formation avec Ultralytics YOLO

Ultralytics YOLO écosystème et intégrations

Introduction

L'entraînement d'un modèle d'apprentissage profond consiste à lui fournir des données et à ajuster ses paramètres afin qu'il puisse faire des prédictions précises. Le mode Train dans Ultralytics YOLO11 est conçu pour une formation efficace et efficiente des modèles de détection d'objets, en utilisant pleinement les capacités du matériel moderne. Ce guide a pour but de couvrir tous les détails dont vous avez besoin pour commencer à former vos propres modèles à l'aide de l'ensemble des fonctionnalités robustes de YOLO11.



Regarder : Comment former un modèle YOLO sur votre ensemble de données personnalisé dans Google Colab.

Pourquoi choisir Ultralytics YOLO pour la formation ?

Voici quelques bonnes raisons d'opter pour le mode Train de YOLO11:

  • EfficacitĂ© : Tirez le meilleur parti de votre matĂ©riel, qu'il s'agisse d'une configuration Ă  une seule adresseGPU ou d'une mise Ă  l'Ă©chelle de plusieurs GPU.
  • Polyvalence : EntraĂ®nement sur des ensembles de donnĂ©es personnalisĂ©s en plus des ensembles de donnĂ©es facilement disponibles tels que COCO, VOC et ImageNet.
  • ConvivialitĂ© : interfaces simples mais puissantes CLI et Python pour une expĂ©rience de formation directe.
  • FlexibilitĂ© des hyperparamètres : Une large gamme d'hyperparamètres personnalisables pour affiner les performances du modèle.

Principales caractéristiques du mode train

Voici quelques caractéristiques notables du mode Train de YOLO11:

  • TĂ©lĂ©chargement automatique des donnĂ©es : Les ensembles de donnĂ©es standard tels que COCO, VOC et ImageNet sont tĂ©lĂ©chargĂ©s automatiquement lors de la première utilisation.
  • Prise en charge de plusieurs sitesGPU : Faites Ă©voluer vos efforts de formation de manière transparente sur plusieurs GPU afin d'accĂ©lĂ©rer le processus.
  • Configuration des hyperparamètres : L'option de modifier les hyperparamètres par le biais de fichiers de configuration YAML ou d'arguments CLI .
  • Visualisation et suivi : Suivi en temps rĂ©el des paramètres de formation et visualisation du processus d'apprentissage pour une meilleure comprĂ©hension.

Conseil

  • YOLO11 des ensembles de donnĂ©es tels que COCO, VOC, ImageNet et bien d'autres sont automatiquement tĂ©lĂ©chargĂ©s lors de la première utilisation, c'est-Ă -dire qu'ils ne sont pas tĂ©lĂ©chargĂ©s. yolo train data=coco.yaml

Exemples d'utilisation

Entraîner YOLO11n sur l'ensemble de données COCO8 pour 100 époques à une taille d'image de 640. Le dispositif d'entraînement peut être spécifié à l'aide de la fonction device l'argument. Si aucun argument n'est transmis GPU device=0 sera utilisé s'il est disponible, sinon device='cpu' sera utilisé. Voir la section Arguments ci-dessous pour une liste complète des arguments de formation.

Exemple de formation uniqueGPU et CPU

L'appareil est déterminé automatiquement. Si un GPU est disponible, il sera utilisé, sinon la formation commencera sur 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

Formation multi-GPU

L'entraînement multi-GPU permet une utilisation plus efficace des ressources matérielles disponibles en répartissant la charge d'entraînement sur plusieurs GPU. Cette fonctionnalité est disponible via l'API Python et l'interface de ligne de commande. Pour activer l'entraînement multiGPU , indiquez les ID de périphérique GPU que vous souhaitez utiliser.

Exemple de formation multi-GPU

Pour s'entraîner avec 2 GPU, CUDA devices 0 et 1, utilisez les commandes suivantes. Étendez à d'autres GPU si nécessaire.

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

Formation Apple Silicon MPS

Grâce à la prise en charge des puces Apple intégrées dans les modèles Ultralytics YOLO , il est désormais possible d'entraîner vos modèles sur des appareils utilisant le puissant cadre Metal Performance Shaders (MPS). Le site MPS offre un moyen très performant d'exécuter des tâches de calcul et de traitement d'images sur le silicium personnalisé d'Apple.

Pour activer la formation sur les puces Apple, vous devez spécifier "mps" comme appareil lorsque vous lancez le processus de formation. Vous trouverez ci-dessous un exemple de la manière dont vous pouvez procéder dans Python et via la ligne de commande :

MPS Exemple de formation

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

Tout en exploitant la puissance de calcul des puces Apple, cela permet un traitement plus efficace des tâches de formation. Pour des conseils plus détaillés et des options de configuration avancées, veuillez vous référer à la documentationPyTorch MPS .

Reprise des formations interrompues

La reprise de l'entraînement à partir d'un état précédemment sauvegardé est une fonctionnalité cruciale lorsque l'on travaille avec des modèles d'apprentissage profond. Cela peut s'avérer utile dans différents scénarios, comme lorsque le processus d'entraînement a été interrompu de manière inattendue, ou lorsque vous souhaitez poursuivre l'entraînement d'un modèle avec de nouvelles données ou pour plus d'époques.

Lors de la reprise de la formation, Ultralytics YOLO charge les poids du dernier modèle sauvegardé et restaure également l'état de l'optimiseur, le planificateur du taux d'apprentissage et le nombre d'époques. Cela vous permet de reprendre le processus d'apprentissage là où il s'est arrêté.

Vous pouvez facilement reprendre la formation sur Ultralytics YOLO en définissant le paramètre resume argument à True lors de l'appel du train et en spécifiant le chemin d'accès à la méthode .pt contenant les poids du modèle partiellement entraîné.

Vous trouverez ci-dessous un exemple de reprise d'une formation interrompue Ă  l'aide de Python et de la ligne de commande :

Exemple de formation au curriculum vitae

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

En fixant resume=True, le train reprendra l'entraînement là où il s'est arrêté, en utilisant l'état stocké dans le fichier "path/to/last.pt". Si le fichier resume est omis ou fixé à False, le train démarre une nouvelle session de formation.

Rappelez-vous que les points de contrôle sont sauvegardés à la fin de chaque époque par défaut, ou à des intervalles fixes à l'aide de la commande save_period Vous devez donc terminer au moins une époque avant de reprendre un cycle d'entraînement.

RĂ©glages du train

Les paramètres d'apprentissage des modèles YOLO englobent divers hyperparamètres et configurations utilisés au cours du processus d'apprentissage. Ces paramètres influencent les performances, la vitesse et la précision du modèle. Les principaux paramètres d'apprentissage comprennent la taille du lot, le taux d'apprentissage, l'élan et la décroissance des poids. En outre, le choix de l'optimiseur, de la fonction de perte et de la composition de l'ensemble de données d'apprentissage peut avoir un impact sur le processus d'apprentissage. Un réglage minutieux et l'expérimentation de ces paramètres sont essentiels pour optimiser les performances.

Argument DĂ©faut Description
model None Spécifie le fichier modèle pour la formation. Accepte un chemin vers un fichier .pt ou un modèle pré-entraîné .yaml fichier de configuration. Essentiel pour définir la structure du modèle ou initialiser les poids.
data None Chemin d'accès au fichier de configuration du jeu de données (par exemple, coco8.yaml). Ce fichier contient les paramètres spécifiques à l'ensemble de données, y compris les chemins d'accès à l'entraînement et à la formation. données de validationLes noms des classes et le nombre de classes.
epochs 100 Nombre total d'époques d'apprentissage. Chaque époque représente un passage complet sur l'ensemble des données. L'ajustement de cette valeur peut affecter la durée de l'apprentissage et les performances du modèle.
time None Durée maximale de la formation en heures. S'il est défini, ce paramètre remplace le paramètre epochs permettant à la formation de s'arrêter automatiquement après la durée spécifiée. Utile pour les scénarios de formation limités dans le temps.
patience 100 Nombre d'époques à attendre sans amélioration des mesures de validation avant d'arrêter la formation. Permet d'éviter le surajustement en arrêtant la formation lorsque les performances atteignent un plateau.
batch 16 Taille du lotavec trois modes : un nombre entier (par exemple, le nombre d'heures de travail) et un nombre de jours de travail (par exemple, le nombre d'heures de travail), batch=16), mode automatique pour une utilisation de la mémoire de 60 % GPU (batch=-1), ou le mode automatique avec la fraction d'utilisation spécifiée (batch=0.70).
imgsz 640 Taille cible de l'image pour l'apprentissage. Toutes les images sont redimensionnées à cette dimension avant d'être introduites dans le modèle. Affecte la précision du modèle et la complexité de calcul.
save True Permet d'enregistrer les points de contrôle de la formation et les poids finaux du modèle. Utile pour reprendre la formation ou le déploiement du modèle.
save_period -1 Fréquence d'enregistrement des points de contrôle du modèle, spécifiée en époques. La valeur -1 désactive cette fonction. Utile pour sauvegarder des modèles provisoires lors de longues sessions de formation.
cache False Permet la mise en cache des images de l'ensemble des données en mémoire (True/ram), sur disque (disk), ou la désactive (False). Améliore la vitesse d'apprentissage en réduisant les E/S sur disque au prix d'une utilisation accrue de la mémoire.
device None Spécifie le(s) dispositif(s) de calcul pour la formation : un seul GPU (device=0), plusieurs GPU (device=0,1), CPU (device=cpu), ou MPS pour le silicium d'Apple (device=mps).
workers 8 Nombre de threads de travail pour le chargement des données (par RANK si Multi-GPU formation). Influence la vitesse de prétraitement des données et d'alimentation du modèle, particulièrement utile dans les configurations multiGPU .
project None Nom du répertoire du projet dans lequel les résultats de la formation sont enregistrés. Permet d'organiser le stockage des différentes expériences.
name None Nom de l'exercice de formation. Utilisé pour créer un sous-répertoire dans le dossier du projet, où les journaux de formation et les résultats sont stockés.
exist_ok False Si True, permet d'écraser un répertoire projet/nom existant. Utile pour l'expérimentation itérative sans avoir à effacer manuellement les sorties précédentes.
pretrained True Détermine s'il faut commencer la formation à partir d'un modèle pré-entraîné. Il peut s'agir d'une valeur booléenne ou d'un chemin d'accès à un modèle spécifique à partir duquel les poids sont chargés. Améliore l'efficacité de la formation et les performances du modèle.
optimizer 'auto' Choix de l'optimiseur pour la formation. Les options comprennent SGD, Adam, AdamW, NAdam, RAdam, RMSProp etc. auto pour une sélection automatique basée sur la configuration du modèle. Affecte la vitesse de convergence et la stabilité.
seed 0 Définit la graine aléatoire pour l'entraînement, ce qui garantit la reproductibilité des résultats d'une exécution à l'autre avec les mêmes configurations.
deterministic True Force l'utilisation d'algorithmes déterministes, ce qui garantit la reproductibilité, mais peut affecter les performances et la vitesse en raison de la restriction sur les algorithmes non déterministes.
single_cls False Traite toutes les classes des ensembles de données multi-classes comme une seule classe pendant la formation. Utile pour les tâches de classification binaire ou lorsque l'on se concentre sur la présence d'objets plutôt que sur la classification.
classes None Spécifie une liste d'identifiants de classe pour l'entraînement. Utile pour filtrer et se concentrer uniquement sur certaines classes pendant la formation.
rect False Permet un apprentissage rectangulaire, en optimisant la composition des lots pour un remplissage minimal. Cela peut améliorer l'efficacité et la vitesse, mais peut affecter la précision du modèle.
cos_lr False Utilise un planificateur de taux d' apprentissage en cosinus, qui ajuste le taux d'apprentissage en suivant une courbe en cosinus au fil des époques. Aide à gérer le taux d'apprentissage pour une meilleure convergence.
close_mosaic 10 Désactive l'augmentation des données de la mosaïque dans les N dernières époques afin de stabiliser l'apprentissage avant qu'il ne soit terminé. La valeur 0 désactive cette fonction.
resume False Reprend la formation à partir du dernier point de contrôle enregistré. Charge automatiquement les poids du modèle, l'état de l'optimiseur et le nombre d'époques, afin de poursuivre la formation de manière transparente.
amp True Permet l'apprentissage automatique de la précision mixte (AMP), ce qui réduit l'utilisation de la mémoire et accélère éventuellement l'apprentissage avec un impact minimal sur la précision.
fraction 1.0 Spécifie la fraction de l'ensemble de données à utiliser pour la formation. Permet la formation sur un sous-ensemble de l'ensemble des données, utile pour les expériences ou lorsque les ressources sont limitées.
profile False Permet d'établir le profil des vitesses ONNX et TensorRT pendant la formation, ce qui est utile pour optimiser le déploiement du modèle.
freeze None Gèle les N premières couches du modèle ou les couches spécifiées par index, réduisant ainsi le nombre de paramètres entraînables. Utile pour le réglage fin ou l'apprentissage par transfert.
lr0 0.01 Taux d'apprentissage initial (c'est-à-dire SGD=1E-2, Adam=1E-3) . L'ajustement de cette valeur est crucial pour le processus d'optimisation, car il influence la rapidité avec laquelle les poids du modèle sont mis à jour.
lrf 0.01 Taux d'apprentissage final en fraction du taux initial = (lr0 * lrf), utilisé en conjonction avec des programmateurs pour ajuster le taux d'apprentissage au fil du temps.
momentum 0.937 Facteur d'impulsion pour SGD ou beta1 pour les optimiseurs Adam, influençant l'incorporation des gradients passés dans la mise à jour actuelle.
weight_decay 0.0005 Terme de régularisation L2, pénalisant les poids importants pour éviter l'ajustement excessif.
warmup_epochs 3.0 Nombre d'époques pour l'échauffement du taux d'apprentissage, augmentant progressivement le taux d'apprentissage à partir d'une valeur faible jusqu'au taux d'apprentissage initial afin de stabiliser l'apprentissage dès le début.
warmup_momentum 0.8 Élan initial pour la phase d'échauffement, s'adaptant progressivement à l'élan défini au cours de la période d'échauffement.
warmup_bias_lr 0.1 Taux d'apprentissage des paramètres de biais pendant la phase d'échauffement, permettant de stabiliser l'apprentissage du modèle dans les premières époques.
box 7.5 Poids de la composante de perte de boîte dans la fonction de perte, influençant l'importance accordée à la prédiction précise des coordonnées de la boîte englobante.
cls 0.5 Poids de la perte de classification dans la fonction de perte totale, affectant l'importance d'une prédiction de classe correcte par rapport aux autres composants.
dfl 1.5 Poids de la perte focale de distribution, utilisé dans certaines versions de YOLO pour une classification plus fine.
pose 12.0 Poids de la perte de pose dans les modèles formés pour l'estimation de la pose, influençant l'accent mis sur la prédiction précise des points clés de la pose.
kobj 2.0 Poids de la perte d'objectivité du point clé dans les modèles d'estimation de la pose, équilibrant la confiance dans la détection et la précision de la pose.
nbs 64 Taille nominale du lot pour la normalisation de la perte.
overlap_mask True Détermine si les masques d'objets doivent être fusionnés en un seul masque pour l'entraînement ou s'ils doivent rester séparés pour chaque objet. En cas de chevauchement, le masque le plus petit est superposé au masque le plus grand lors de la fusion.
mask_ratio 4 Rapport de sous-échantillonnage pour les masques de segmentation, affectant la résolution des masques utilisés lors de l'apprentissage.
dropout 0.0 Taux d'abandon pour la régularisation dans les tâches de classification, empêchant l'ajustement excessif en omettant aléatoirement des unités pendant la formation.
val True Permet la validation pendant la formation, ce qui permet d'évaluer périodiquement les performances du modèle sur un ensemble de données distinct.
plots False Génère et enregistre des graphiques des mesures d'entraînement et de validation, ainsi que des exemples de prédiction, offrant un aperçu visuel des performances du modèle et de la progression de l'apprentissage.

Note sur les réglages de la taille des lots

Le batch peut être configuré de trois manières :

  • Taille fixe des lots: DĂ©finir une valeur entière (par ex, batch=16), en spĂ©cifiant directement le nombre d'images par lot.
  • Mode Auto (60% GPU MĂ©moire): Utilisation batch=-1 afin d'ajuster automatiquement la taille des lots pour une utilisation de la mĂ©moire d'environ 60 % CUDA .
  • Mode automatique avec fraction d'utilisation: DĂ©finir une valeur de fraction (par ex, batch=0.70) pour ajuster la taille des lots en fonction de la fraction spĂ©cifiĂ©e de l'utilisation de la mĂ©moire de GPU .

Paramètres d'augmentation et hyperparamètres

Les techniques d'augmentation sont essentielles pour améliorer la robustesse et les performances des modèles YOLO en introduisant de la variabilité dans les données d'apprentissage, ce qui permet au modèle de mieux se généraliser à des données inédites. Le tableau suivant présente l'objectif et l'effet de chaque argument d'augmentation :

Argument Type DĂ©faut Gamme Description
hsv_h float 0.015 0.0 - 1.0 Ajuste la teinte de l'image par une fraction de la roue chromatique, introduisant ainsi une variabilité des couleurs. Aide le modèle à se généraliser dans différentes conditions d'éclairage.
hsv_s float 0.7 0.0 - 1.0 Modifie la saturation de l'image d'une fraction, affectant l'intensité des couleurs. Utile pour simuler différentes conditions environnementales.
hsv_v float 0.4 0.0 - 1.0 Modifie la valeur (luminosité) de l'image d'une fraction, ce qui permet au modèle de bien fonctionner dans différentes conditions d'éclairage.
degrees float 0.0 -180 - +180 Fait pivoter l'image de manière aléatoire dans la plage de degrés spécifiée, améliorant ainsi la capacité du modèle à reconnaître des objets dans différentes orientations.
translate float 0.1 0.0 - 1.0 Traduit l'image horizontalement et verticalement d'une fraction de la taille de l'image, ce qui facilite l'apprentissage de la détection d'objets partiellement visibles.
scale float 0.5 >=0.0 Met l'image à l'échelle en fonction d'un facteur de gain, simulant ainsi des objets situés à différentes distances de la caméra.
shear float 0.0 -180 - +180 Découpe l'image d'un degré spécifié, imitant l'effet des objets vus sous différents angles.
perspective float 0.0 0.0 - 0.001 Applique une transformation aléatoire de la perspective à l'image, améliorant ainsi la capacité du modèle à comprendre les objets dans l'espace 3D.
flipud float 0.0 0.0 - 1.0 Renverse l'image avec la probabilité spécifiée, ce qui augmente la variabilité des données sans affecter les caractéristiques de l'objet.
fliplr float 0.5 0.0 - 1.0 Retourne l'image de gauche à droite avec la probabilité spécifiée, utile pour l'apprentissage d'objets symétriques et l'augmentation de la diversité des ensembles de données.
bgr float 0.0 0.0 - 1.0 Fait passer les canaux de l'image de RVB à BGR avec la probabilité spécifiée, ce qui est utile pour accroître la résistance à un mauvais classement des canaux.
mosaic float 1.0 0.0 - 1.0 Combine quatre images d'entraînement en une seule, simulant différentes compositions de scènes et interactions d'objets. Très efficace pour la compréhension de scènes complexes.
mixup float 0.0 0.0 - 1.0 Mélange deux images et leurs étiquettes, créant ainsi une image composite. Améliore la capacité du modèle à se généraliser en introduisant le bruit des étiquettes et la variabilité visuelle.
copy_paste float 0.0 0.0 - 1.0 Copie et colle des objets sur les images, ce qui est utile pour augmenter le nombre d'instances d'objets et apprendre l'occlusion d'objets. NĂ©cessite des Ă©tiquettes de segmentation.
copy_paste_mode str flip - Sélection de la méthode d'augmentation par copier-coller parmi les options de ("flip", "mixup").
auto_augment str randaugment - Application automatique d'une politique d'augmentation prédéfinie (randaugment, autoaugment, augmix), optimisant les tâches de classification en diversifiant les caractéristiques visuelles.
erasing float 0.4 0.0 - 0.9 Efface aléatoirement une partie de l'image pendant l'apprentissage de la classification, encourageant le modèle à se concentrer sur des caractéristiques moins évidentes pour la reconnaissance.
crop_fraction float 1.0 0.1 - 1.0 Recadrer l'image de classification à une fraction de sa taille pour mettre en valeur les caractéristiques centrales et s'adapter à l'échelle des objets, en réduisant les distractions d'arrière-plan.

Ces paramètres peuvent être ajustés pour répondre aux exigences spécifiques de l'ensemble de données et de la tâche à accomplir. L'expérimentation de différentes valeurs peut aider à trouver la stratégie d'augmentation optimale qui conduit à la meilleure performance du modèle.

Info

Pour plus d'informations sur les opérations de renforcement de la formation, voir la section de référence.

Enregistrement

Lors de la formation d'un modèle YOLO11 , il peut s'avérer utile de suivre les performances du modèle au fil du temps. C'est là que la journalisation entre en jeu. Ultralytics YOLO prend en charge trois types d'enregistreurs : Comet, ClearML et TensorBoard.

Pour utiliser un enregistreur, sélectionnez-le dans le menu déroulant de l'extrait de code ci-dessus et exécutez-le. L'enregistreur choisi sera installé et initialisé.

Comet

Comet est une plateforme qui permet aux scientifiques des données et aux développeurs de suivre, comparer, expliquer et optimiser les expériences et les modèles. Elle offre des fonctionnalités telles que des mesures en temps réel, des différences de code et le suivi des hyperparamètres.

Pour utiliser Comet:

Exemple

# pip install comet_ml
import comet_ml

comet_ml.init()

N'oubliez pas de vous connecter à votre compte Comet sur leur site web et d'obtenir votre clé API. Vous devrez l'ajouter à vos variables d'environnement ou à votre script pour enregistrer vos expériences.

ClearML

ClearML est une plateforme open-source qui automatise le suivi des expériences et contribue à un partage efficace des ressources. Elle est conçue pour aider les équipes à gérer, exécuter et reproduire leur travail de ML plus efficacement.

Pour utiliser ClearML:

Exemple

# pip install clearml
import clearml

clearml.browser_login()

Après avoir exécuté ce script, vous devrez vous connecter à votre compte ClearML sur le navigateur et authentifier votre session.

TensorBoard

TensorBoard est une boîte à outils de visualisation pour TensorFlow. Il vous permet de visualiser votre graphique TensorFlow , de tracer des mesures quantitatives sur l'exécution de votre graphique et d'afficher des données supplémentaires telles que les images qui le traversent.

Pour utiliser TensorBoard dans Google Colab:

Exemple

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

Pour utiliser TensorBoard localement, exécutez la commande ci-dessous et visualisez les résultats sur http://localhost:6006/.

Exemple

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

Cela chargera TensorBoard et le dirigera vers le répertoire où vos journaux d'entraînement sont sauvegardés.

Après avoir configuré votre enregistreur, vous pouvez procéder à l'entraînement de votre modèle. Tous les paramètres de formation seront automatiquement enregistrés dans la plateforme que vous avez choisie, et vous pourrez accéder à ces enregistrements pour suivre les performances de votre modèle au fil du temps, comparer différents modèles et identifier les domaines à améliorer.

FAQ

Comment entraîner un modèle de détection d'objets à l'aide de Ultralytics YOLO11 ?

Pour former un modèle de détection d'objets à l'aide de Ultralytics YOLO11 , vous pouvez utiliser l'API Python ou CLI. Vous trouverez ci-dessous un exemple pour les deux :

Exemple de formation uniqueGPU et 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

Pour plus de détails, voir la section Paramètres du train.

Quelles sont les principales caractéristiques du mode Train de Ultralytics YOLO11 ?

Les principales caractéristiques du mode Train de Ultralytics YOLO11 sont les suivantes :

  • TĂ©lĂ©chargement automatique d'ensembles de donnĂ©es : TĂ©lĂ©charge automatiquement les ensembles de donnĂ©es standard tels que COCO, VOC et ImageNet.
  • Prise en charge de plusieurs sitesGPU : Faites Ă©voluer l'entraĂ®nement sur plusieurs GPU pour un traitement plus rapide.
  • Configuration des hyperparamètres : Personnalisez les hyperparamètres Ă  l'aide de fichiers YAML ou d'arguments CLI .
  • Visualisation et suivi : Suivi en temps rĂ©el des paramètres de formation pour une meilleure comprĂ©hension.

Ces fonctions rendent la formation efficace et personnalisable en fonction de vos besoins. Pour plus de détails, voir la section Caractéristiques principales du mode entraînement.

Comment reprendre la formation après une session interrompue sur Ultralytics YOLO11 ?

Pour reprendre la formation à partir d'une session interrompue, réglez le paramètre resume argument à True et indiquer le chemin d'accès au dernier point de contrôle sauvegardé.

Exemple de formation au curriculum vitae

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

Pour plus d'informations, consultez la section sur la reprise des formations interrompues.

Puis-je entraîner les modèles YOLO11 sur des puces de silicium Apple ?

Oui, Ultralytics YOLO11 prend en charge la formation sur les puces de silicium d'Apple utilisant le cadre Metal Performance Shaders (MPS). Indiquez "mps" comme dispositif de formation.

MPS Exemple de formation

from ultralytics import YOLO

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

# Train the model on Apple silicon chip (M1/M2/M3/M4)
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

Pour plus de détails, reportez-vous à la section Formation Apple Silicon MPS .

Quels sont les paramètres de formation courants et comment les configurer ?

Ultralytics YOLO11 vous permet de configurer une variété de paramètres d'apprentissage tels que la taille du lot, le taux d'apprentissage, les époques, et plus encore, à l'aide d'arguments. En voici un bref aperçu :

Argument DĂ©faut Description
model None Chemin d'accès au fichier modèle pour la formation.
data None Chemin d'accès au fichier de configuration du jeu de données (par exemple, coco8.yaml).
epochs 100 Nombre total d'Ă©poques d'apprentissage.
batch 16 Taille du lot, réglable en mode entier ou automatique.
imgsz 640 Taille de l'image cible pour la formation.
device None Dispositif(s) informatique(s) pour la formation comme cpu, 0, 0,1ou mps.
save True Permet d'enregistrer les points de contrôle de l'apprentissage et les poids finaux du modèle.

Pour un guide approfondi sur les paramètres de formation, consultez la section Paramètres de formation.

📅C réé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires