Skip to content

Modèle de formation avec Ultralytics YOLO

Ultralytics YOLO écosystème et intégrations

Introduction

Former 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 sur 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 vise à couvrir tous les détails dont tu as besoin pour commencer à former tes propres modèles en utilisant l'ensemble robuste de fonctionnalités de YOLO11.



Regarde : Comment former un modèle YOLO sur ton jeu de données personnalisé dans Google Colab.

Pourquoi choisir Ultralytics YOLO pour la formation ?

Voici quelques raisons impérieuses d'opter pour le mode Train de YOLO11 :

  • Efficacité : Tire le meilleur parti de ton matériel, qu'il s'agisse d'une configuration à une seule adresseGPU ou d'une mise à l'échelle de plusieurs GPU.
  • Polyvalence : Entraîne-toi sur des ensembles de données personnalisés en plus de ceux qui sont déjà disponibles comme COCO, VOC et ImageNet.
  • Convivialité : interfaces simples mais puissantes CLI et Python pour une expérience de formation directe.
  • Flexibilité des hyperparamètres : Un large éventail 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 : Fais évoluer tes efforts de formation de façon transparente sur plusieurs GPU pour accélérer le processus.
  • Configuration des hyperparamètres : La possibilité 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 métriques de formation et visualisation du processus d'apprentissage pour une meilleure compréhension.

Astuce

  • Les ensembles de données YOLO11 comme COCO, VOC, ImageNet et bien d'autres se téléchargent automatiquement lors de la première utilisation, c'est-à-dire. yolo train data=coco.yaml

Exemples d'utilisation

Entraîne YOLO11n sur l'ensemble de données COCO8 pour 100 époques à la taille de l'image 640. Le dispositif d'entraînement peut être spécifié à l'aide de la fonction device argument. Si aucun argument n'est transmis GPU device=0 sera utilisée si elle 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 simpleGPU 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 d'utiliser plus efficacement les ressources matérielles disponibles en répartissant la charge d'entraînement sur plusieurs GPU. Cette fonction est disponible à la fois via l'API Python et l'interface de ligne de commande. Pour activer l'entraînement multiGPU , spécifie les ID de périphériques GPU que tu souhaites utiliser.

Exemple de formation multi-GPU

Pour s'entraîner avec 2 GPU, CUDA devices 0 et 1, utilise les commandes suivantes. Étends-toi à 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 de silicium Apple intégrées dans les modèles Ultralytics YOLO , il est désormais possible d'entraîner tes 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 en silicium d'Apple, tu dois spécifier 'mps' comme appareil lorsque tu démarres le processus de formation. Tu trouveras ci-dessous un exemple de la façon dont tu peux 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 tirant parti de la puissance de calcul des puces en silicium d'Apple, cela permet un traitement plus efficace des tâches d'entraînement. Pour des conseils plus détaillés et des options de configuration avancées, tu peux te référer à la documentation dePyTorch MPS .

Reprise des formations interrompues

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

Lorsque la formation reprend, 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 te permet de reprendre le processus d'apprentissage là où il s'est arrêté.

Tu peux facilement reprendre la formation sur Ultralytics YOLO en paramétrant l'option resume argument pour 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é.

Tu trouveras ci-dessous un exemple de reprise d'un entraînement interrompu à l'aide de Python et via 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 réglant resume=True, le train reprend 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 a la valeur False, le train démarre une nouvelle session de formation.

Rappelle-toi que les points de contrôle sont sauvegardés à la fin de chaque époque par défaut, ou à intervalles fixes à l'aide de l'option save_period Tu dois donc terminer au moins une époque pour reprendre un entraînement.

Réglages du train

Les paramètres de formation des modèles YOLO englobent divers hyperparamètres et configurations utilisés pendant le processus de formation. Ces paramètres influencent les performances, la vitesse et la précision du modèle. Les principaux paramètres de formation 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 des 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.

ArgumentDéfautDescription
modelNoneSpécifie le fichier modèle pour la formation. Accepte un chemin vers un fichier .pt modèle pré-entraîné ou un .yaml fichier de configuration. Indispensable pour définir la structure du modèle ou initialiser les poids.
dataNoneChemin d'accès au fichier de configuration du jeu de données (par ex, coco8.yaml). Ce fichier contient des 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 validationLe nom des classes et le nombre de classes.
epochs100Nombre total d'époques de formation. Chaque époque représente un passage complet sur l'ensemble des données. Le réglage de cette valeur peut affecter la durée de la formation et les performances du modèle.
timeNoneDuré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.
patience100Nombre 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.
batch16Taille du lot, avec trois modes : défini comme un nombre entier (par ex, batch=16), le 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).
imgsz640Taille cible de l'image pour la formation. 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.
saveTruePermet d'enregistrer les points de contrôle de l'entraînement et les poids finaux du modèle. Utile pour reprendre la formation ou le déploiement du modèle.
save_period-1Fréquence de sauvegarde 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 pendant de longues sessions de formation.
cacheFalsePermet la mise en cache des images du jeu de données dans la mémoire (True/ram), sur disque (disk), ou la désactive (False). Améliore la vitesse de l'entraînement en réduisant les entrées/sorties sur disque au prix d'une utilisation accrue de la mémoire.
deviceNoneSpécifie le(s) dispositif(s) informatique(s) 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).
workers8Nombre de threads de travail pour le chargement des données (par RANK si Multi-GPU formation). Influe sur la vitesse de prétraitement des données et d'alimentation du modèle, particulièrement utile dans les configurations multiGPU .
projectNoneNom du répertoire du projet dans lequel les résultats de la formation sont enregistrés. Permet un stockage organisé des différentes expériences.
nameNoneNom de la formation. Utilisé pour créer un sous-répertoire dans le dossier du projet, où sont stockés les journaux de formation et les résultats.
exist_okFalseSi True, permet d'écraser un répertoire projet/nom existant. Utile pour l'expérimentation itérative sans avoir besoin d'effacer manuellement les sorties précédentes.
pretrainedTrueDé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é.
seed0Dé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.
deterministicTrueForce 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_clsFalseTraite 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.
rectFalsePermet un entraînement 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_lrFalseUtilise 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_mosaic10Désactive l'augmentation des données de la mosaïque dans les N dernières époques pour stabiliser l'entraînement avant qu'il ne soit terminé. La valeur 0 désactive cette fonction.
resumeFalseReprend 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 façon transparente.
ampTruePermet 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.
fraction1.0Spé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.
profileFalsePermet d'établir le profil des vitesses ONNX et TensorRT pendant la formation, ce qui est utile pour optimiser le déploiement du modèle.
freezeNoneGèle les N premières couches du modèle ou des 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.
lr00.01Taux 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.
lrf0.01Taux d'apprentissage final en tant que fraction du taux initial = (lr0 * lrf), utilisés conjointement avec les programmateurs pour ajuster le taux d'apprentissage au fil du temps.
momentum0.937Facteur d'impulsion pour SGD ou beta1 pour les optimiseurs Adam, influençant l'incorporation des gradients passés dans la mise à jour actuelle.
weight_decay0.0005Terme de régularisation L2, pénalisant les poids importants pour éviter l'ajustement excessif.
warmup_epochs3.0Nombre d'époques pour l'échauffement du taux d'apprentissage, en augmentant progressivement le taux d'apprentissage à partir d'une faible valeur jusqu'au taux d'apprentissage initial pour stabiliser l'entraînement dès le début.
warmup_momentum0.8Élan initial pour la phase d'échauffement, s'ajustant progressivement à l'élan défini au cours de la période d'échauffement.
warmup_bias_lr0.1Taux d'apprentissage pour les paramètres de biais pendant la phase d'échauffement, ce qui permet de stabiliser l'apprentissage du modèle dans les époques initiales.
box7.5Poids 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.
cls0.5Poids 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.
dfl1.5Poids de la perte focale de distribution, utilisé dans certaines versions de YOLO pour une classification plus fine.
pose12.0Le 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.
kobj2.0Poids de la perte d'objectivité du point clé dans les modèles d'estimation de la pose, équilibrant la confiance de la détection avec la précision de la pose.
label_smoothing0.0Applique le lissage des étiquettes, en adoucissant les étiquettes dures pour obtenir un mélange de l'étiquette cible et une distribution uniforme des étiquettes, ce qui peut améliorer la généralisation.
nbs64Taille nominale du lot pour la normalisation de la perte.
overlap_maskTrueDé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 plus petit masque est superposé au plus grand lors de la fusion.
mask_ratio4Taux de sous-échantillonnage pour les masques de segmentation, affectant la résolution des masques utilisés pendant l'entraînement.
dropout0.0Taux d'abandon pour la régularisation dans les tâches de classification, empêchant le surajustement en omettant aléatoirement des unités pendant la formation.
valTrueActive la validation pendant la formation, ce qui permet d'évaluer périodiquement les performances du modèle sur un ensemble de données distinct.
plotsFalseGénère et enregistre des graphiques des mesures d'entraînement et de validation, ainsi que des exemples de prédiction, ce qui donne 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 argument peut être configuré de trois façons :

  • Taille fixe des lots: Définis une valeur entière (par ex, batch=16), en spécifiant directement le nombre d'images par lot.
  • Mode Auto (60% GPU Memory): Utiliser batch=-1 pour ajuster automatiquement la taille des lots pour une utilisation de la mémoire d'environ 60 % CUDA .
  • Mode automatique avec fraction d'utilisation: Règle une valeur de fraction (par ex, batch=0.70) pour ajuster la taille du lot 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 aide le modèle à 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 :

ArgumentTypeDéfautGammeDescription
hsv_hfloat0.0150.0 - 1.0Ajuste la teinte de l'image par une fraction de la roue chromatique, introduisant ainsi la variabilité des couleurs. Aide le modèle à se généraliser dans différentes conditions d'éclairage.
hsv_sfloat0.70.0 - 1.0Modifie la saturation de l'image d'une fraction, ce qui affecte l'intensité des couleurs. Utile pour simuler différentes conditions environnementales.
hsv_vfloat0.40.0 - 1.0Modifie la valeur (luminosité) de l'image d'une fraction, ce qui aide le modèle à bien fonctionner dans diverses conditions d'éclairage.
degreesfloat0.0-180 - +180Fait pivoter l'image de façon aléatoire dans la plage de degrés spécifiée, ce qui améliore la capacité du modèle à reconnaître des objets dans diverses orientations.
translatefloat0.10.0 - 1.0Traduit 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.
scalefloat0.5>=0.0Met l'image à l'échelle en fonction d'un facteur de gain, simulant ainsi des objets situés à différentes distances de la caméra.
shearfloat0.0-180 - +180Cisaille l'image d'un degré spécifié, imitant l'effet des objets vus sous différents angles.
perspectivefloat0.00.0 - 0.001Applique une transformation aléatoire de la perspective à l'image, ce qui améliore la capacité du modèle à comprendre les objets dans l'espace 3D.
flipudfloat0.00.0 - 1.0Renverse l'image avec la probabilité spécifiée, ce qui augmente la variabilité des données sans affecter les caractéristiques de l'objet.
fliplrfloat0.50.0 - 1.0Retourne l'image de gauche à droite avec la probabilité spécifiée, utile pour apprendre les objets symétriques et augmenter la diversité des ensembles de données.
bgrfloat0.00.0 - 1.0Renverse les canaux de l'image de RVB à BGR avec la probabilité spécifiée, ce qui est utile pour augmenter la robustesse à un mauvais classement des canaux.
mosaicfloat1.00.0 - 1.0Combine quatre images d'entraînement en une seule, simulant ainsi différentes compositions de scènes et interactions d'objets. Très efficace pour la compréhension de scènes complexes.
mixupfloat0.00.0 - 1.0Mé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 de l'étiquette et la variabilité visuelle.
copy_pastefloat0.00.0 - 1.0Copie les objets d'une image et les colle sur une autre, ce qui est utile pour augmenter les instances d'objets et apprendre l'occlusion des objets.
copy_paste_modestrflip-Sélection de la méthode d'augmentation par copier-coller parmi les options de ("flip", "mixup").
auto_augmentstrrandaugment-Applique automatiquement une politique d'augmentation prédéfinie (randaugment, autoaugment, augmix), optimisant les tâches de classification en diversifiant les caractéristiques visuelles.
erasingfloat0.40.0 - 0.9Efface de façon aléatoire une partie de l'image pendant l'entraînement à la classification, ce qui encourage le modèle à se concentrer sur les caractéristiques moins évidentes pour la reconnaissance.
crop_fractionfloat1.00.1 - 1.0Recadre l'image de classification à une fraction de sa taille pour mettre l'accent sur les caractéristiques centrales et s'adapter à l'échelle des objets, en réduisant les distractions de l'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 aux meilleures performances du modèle.

Info

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

Enregistrement

Lors de l'entraînement d'un modèle YOLO11, tu peux trouver intéressant 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électionne-le dans le menu déroulant de l'extrait de code ci-dessus et exécute-le. Le logger 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 les métriques en temps réel, les 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'oublie pas de te connecter à ton compte Comet sur leur site Web et d'obtenir ta clé API. Tu devras l'ajouter à tes variables d'environnement ou à ton script pour enregistrer tes expériences.

ClearML

ClearML est une plateforme open-source qui automatise le suivi des expériences et aide au 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, tu devras te connecter à ton compte ClearML sur le navigateur et authentifier ta session.

TensorBoard

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

Pour utiliser TensorBoard sur Google Colab:

Exemple

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

Pour utiliser TensorBoard localement, exécute la commande ci-dessous et affiche 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ù tes journaux d'entraînement sont enregistrés.

Après avoir configuré ton enregistreur, tu peux ensuite procéder à l'entraînement de ton modèle. Tous les paramètres d'entraînement seront automatiquement consignés dans la plateforme que tu as choisie, et tu pourras accéder à ces journaux pour suivre les performances de ton 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 entraîner un modèle de détection d'objets à l'aide de Ultralytics YOLO11, tu peux utiliser l'API Python ou CLI. Tu trouveras ci-dessous un exemple pour les deux :

Exemple de formation simpleGPU 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, reporte-toi à 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 : Met l'entraînement à l'échelle sur plusieurs GPU pour un traitement plus rapide.
  • Configuration des hyperparamètres : Personnalise les hyperparamètres à l'aide de fichiers YAML ou d'arguments CLI .
  • Visualisation et suivi : Suivi en temps réel des métriques de formation pour une meilleure compréhension.

Ces caractéristiques rendent la formation efficace et personnalisable en fonction de tes 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 l'entraînement à partir d'une session interrompue, règle l'option resume argument pour True et spécifie 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

Consulte la section sur la reprise des formations interrompues pour plus d'informations.

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

Oui, Ultralytics YOLO11 prend en charge la formation sur les puces de silicium d'Apple utilisant le cadre Metal Performance Shaders (MPS). Spécifie '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, reporte-toi à la section Formation Apple Silicon MPS .

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

Ultralytics YOLO11 te permet de configurer une variété de paramètres d'entraînement tels que la taille du lot, le taux d'apprentissage, les époques, et plus encore, par le biais d'arguments. En voici un bref aperçu :

ArgumentDéfautDescription
modelNoneChemin d'accès au fichier modèle pour la formation.
dataNoneChemin d'accès au fichier de configuration du jeu de données (par ex, coco8.yaml).
epochs100Nombre total d'époques de formation.
batch16Taille du lot, réglable en mode entier ou automatique.
imgsz640Taille de l'image cible pour la formation.
deviceNoneDispositif(s) informatique(s) pour la formation comme cpu, 0, 0,1ou mps.
saveTruePermet de sauvegarder les points de contrôle de l'entraînement et les poids finaux du modèle.

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

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

Commentaires