YOLO Vision 2026 :

Configuration#

Les paramètres et hyperparamètres de YOLO jouent un rôle essentiel dans les performances, la vitesse et la précision du modèle. Ces réglages peuvent influencer le comportement du modèle à différentes étapes, notamment l'entraînement, la validation et la prédiction.



Watch: Mastering Ultralytics YOLO: Configuration

Les commandes Ultralytics utilisent la syntaxe suivante :

Exemple
yolo TASK MODE ARGS

Où :

Les valeurs par défaut de ARG sont définies sur cette page et proviennent du fichier cfg/default.yaml.

Tâches#

Les modèles Ultralytics YOLO peuvent effectuer diverses tâches de vision par ordinateur, notamment :

  • Détection : La détection d'objets identifie et localise des objets dans une image ou une vidéo.
  • Segmentation : La segmentation d'instances divise une image ou une vidéo en régions correspondant à différents objets ou classes.
  • Segmentation sémantique (semantic) : La segmentation sémantique attribue une étiquette de classe à chaque pixel d'une image pour une compréhension fine de la scène.
  • Profondeur (depth) : L'estimation de profondeur monoculaire prédit une carte de profondeur par pixel en mètres à partir d'une seule image RGB.
  • Classification : La classification d'images prédit l'étiquette de classe d'une image d'entrée.
  • Pose : L'estimation de pose identifie des objets et estime leurs points clés dans une image ou une vidéo.
  • OBB : Les boîtes englobantes orientées utilisent des boîtes de délimitation pivotées, adaptées à l'imagerie satellitaire ou médicale.
ArgumentDéfautDescription
task'detect'Spécifie la tâche YOLO : detect pour la détection d'objets, segment pour la segmentation d'instances, semantic pour la segmentation sémantique, depth pour l'estimation de profondeur monoculaire, classify pour la classification, pose pour l'estimation de pose et obb pour les boîtes englobantes orientées. Chaque tâche est conçue pour des sorties et des problématiques spécifiques dans l'analyse d'images et de vidéos.

Guide des tâches

Modes#

Les modèles Ultralytics YOLO fonctionnent selon différents modes, chacun conçu pour une étape spécifique du cycle de vie du modèle :

  • Train : Entraîne un modèle YOLO sur un jeu de données personnalisé.
  • Val : Valide un modèle YOLO entraîné.
  • Predict : Utilise un modèle YOLO entraîné pour faire des prédictions sur de nouvelles images ou vidéos.
  • Export : Exporte un modèle YOLO pour le déploiement.
  • Track : Suit des objets en temps réel en utilisant un modèle YOLO.
  • Benchmark : Évalue la vitesse et la précision des exportations YOLO (ONNX, TensorRT, etc.).
ArgumentDéfautDescription
mode'train'Spécifie le mode de fonctionnement du modèle YOLO : train pour l'entraînement du modèle, val pour la validation, predict pour l'inférence, export pour la conversion vers des formats de déploiement, track pour le suivi d'objets et benchmark pour l'évaluation des performances. Chaque mode prend en charge différentes étapes, de la phase de développement jusqu'au déploiement.

Guide des modes

Paramètres d'entraînement#

Les paramètres d'entraînement pour les modèles YOLO incluent des hyperparamètres et des configurations qui affectent les performances, la vitesse et la précision du modèle. Les paramètres clés comprennent la taille de lot, le taux d'apprentissage, le moment et la décadence des poids. Le choix de l'optimiseur, de la fonction de perte et de la composition du dataset a également un impact sur l'entraînement. L'ajustement et l'expérimentation sont essentiels pour obtenir des performances optimales. Pour plus de détails, consulte la fonction de point d'entrée Ultralytics.

ArgumentTypeDéfautDescription
modelstrNoneSpécifie le fichier de modèle pour l'entraînement. Accepte soit le chemin d'accès vers un modèle pré-entraîné .pt, soit un fichier de configuration .yaml. Indispensable pour définir la structure du modèle ou initialiser les poids.
datastrNoneChemin d'accès au fichier de configuration du dataset (par exemple, coco8.yaml). Ce fichier contient des paramètres spécifiques au dataset, incluant les chemins vers les données d'entraînement et de validation, les noms des classes et le nombre de classes.
epochsint100Nombre total d'époques d'entraînement. Chaque époque représente un passage complet sur l'ensemble du dataset. Modifier cette valeur peut influer sur la durée de l'entraînement et sur les performances du modèle.
timefloatNoneTemps d'entraînement maximal en heures. S'il est défini, ce paramètre remplace l'argument epochs, permettant à l'entraînement de s'arrêter automatiquement après la durée spécifiée. Pratique pour les scénarios d'entraînement soumis à des contraintes de temps.
patienceint100Nombre d'époques à attendre sans amélioration des métriques de validation avant d'interrompre prématurément l'entraînement. Aide à prévenir le surapprentissage en stoppant l'entraînement lorsque les performances se stabilisent.
batchint ou float16Taille de lot, avec trois modes : défini sous forme de nombre entier (par exemple, batch=16), mode automatique pour une utilisation de la mémoire GPU à 60 % (batch=-1), ou mode automatique avec une fraction d'utilisation spécifiée (batch=0.70).
imgszint640Taille d'image cible pour l'entraînement. Les images sont redimensionnées sous forme de carrés dont les côtés sont égaux à la valeur spécifiée (si rect=False), en préservant le ratio d'aspect pour les modèles YOLO mais pas pour RT-DETR. Affecte la précision et la complexité de calcul du modèle.
saveboolTruePermet l'enregistrement des points de contrôle de l'entraînement et des poids finaux du modèle. Utile pour reprendre l'entraînement ou pour le déploiement de modèles.
save_periodint-1Fréquence d'enregistrement des points de contrôle du modèle, spécifiée en epochs. Une valeur de -1 désactive cette fonctionnalité. Utile pour enregistrer des modèles intermédiaires pendant de longues sessions d'entraînement.
cacheboolFalseActive la mise en cache des images du dataset en mémoire (True/ram), sur disque (disk) ou la désactive (False). Améliore la vitesse d'entraînement en réduisant les E/S disque au détriment d'une augmentation de l'utilisation de la mémoire.
deviceint ou str ou listNoneSpécifie le ou les périphériques de calcul pour l'entraînement : un seul GPU (device=0), plusieurs GPU (device=[0,1]), un CPU (device=cpu), MPS pour les puces Apple Silicon (device=mps), un NPU Huawei Ascend (device=npu:0 ou device=npu:0,1), ou la sélection automatique d'un GPU inactif (device=-1) ou de plusieurs GPU inactifs (device=[-1,-1]).
workersint8Nombre de threads de travail pour le chargement des données (par RANK en cas d'entraînement multi-GPU). Influence la vitesse de prétraitement des données et leur acheminement vers le modèle, ce qui est particulièrement utile dans les configurations multi-GPU.
projectstrNoneNom du répertoire de projet où les sorties d'entraînement sont enregistrées. Permet un stockage organisé des différentes expériences.
namestrNoneNom de l'exécution d'entraînement. Utilisé pour créer un sous-répertoire dans le dossier du projet, où les journaux et les sorties d'entraînement sont stockés.
exist_okboolFalseSi 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.
save_dirstrNoneSpécifie le répertoire exact où sont sauvegardés les résultats d'exécution, en remplaçant la combinaison project/name. Le chemin est utilisé tel quel sans incrémentation automatique, de sorte que les exécutions consécutives réutilisent le même répertoire.
pretrainedbool ou strTrueDétermine s'il faut démarrer l'entraînement à partir de poids pré-entraînés. Peut être une valeur booléenne ou un chemin textuel vers les poids à charger. pretrained=False entraîne à partir de poids initialisés aléatoirement tout en conservant l'architecture du modèle.
cls_remapboolTrueLors du réglage fin (fine-tuning) sur plusieurs jeux de données, copie les lignes de la tête de classification pré-entraînée dans le nouveau modèle partout où les noms de classes correspondent, afin que les classes qui se chevauchent conservent leur biais appris, ainsi que leurs poids lorsque la largeur de la tête est inchangée. S'applique que le nombre de classes diffère ou corresponde avec un ordre de classes différent.
optimizerstr'auto'Choix de l'optimiseur pour l'entraînement. Les options incluent SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp, ou auto pour une sélection automatique basée sur la configuration du modèle. Affecte la vitesse de convergence et la stabilité.
seedint0Définit la graine aléatoire pour l'entraînement, assurant la reproductibilité des résultats à travers les exécutions avec les mêmes configurations.
deterministicboolTrueForce l'utilisation d'algorithmes déterministes, assurant la reproductibilité mais peut affecter les performances et la vitesse en raison de la restriction sur les algorithmes non déterministes.
verboseboolTrueActive une sortie détaillée pendant l'entraînement, affichant des barres de progression, des métriques par époque et des informations supplémentaires sur l'entraînement dans la console.
single_clsboolFalseTraite toutes les classes des jeux de données multi-classes comme une classe unique pendant l'entraînement. Utile pour les tâches de classification binaire ou lorsque l'accent est mis sur la présence d'objets plutôt que sur la classification.
classeslist[int]NoneSpécifie une liste d'identifiants de classe pour l'entraînement. Utile pour filtrer et se concentrer uniquement sur certaines classes pendant l'entraînement.
rectboolFalseActive la stratégie de remplissage minimal : les images d'un lot sont rembourrées de manière minimale pour atteindre une taille commune, le côté le plus long étant égal à imgsz. Peut améliorer l'efficacité et la vitesse, mais risque d'affecter la précision du modèle.
multi_scalefloat0.0Varie aléatoirement imgsz pour chaque lot de +/- multi_scale (par exemple, 0.25 -> 0.75x à 1.25x), en arrondissant aux multiples du pas du modèle ; 0.0 désactive l'entraînement multi-échelle.
cos_lrboolFalseUtilise un planificateur de taux d'apprentissage en cosinus, ajustant le taux d'apprentissage selon une courbe en cosinus au fil des époques. Aide à gérer le taux d'apprentissage pour une meilleure convergence.
close_mosaicint10Désactive l'augmentation de données de type mosaïque lors des N dernières époques pour stabiliser l'entraînement avant sa fin. Définir cette valeur à 0 désactive cette fonctionnalité.
resumeboolFalseReprend l'entraînement depuis le dernier point de sauvegarde. Charge automatiquement les poids du modèle, l'état de l'optimiseur et le nombre d'époques, continuant l'entraînement sans interruption.
ampboolTrueActive l'entraînement en précision mixte automatique (AMP), réduisant l'utilisation de la mémoire et accélérant potentiellement l'entraînement avec un impact minime sur la précision.
fractionfloat1.0Spécifie la fraction du jeu de données à utiliser pour l'entraînement. Permet de s'entraîner sur un sous-ensemble du jeu de données complet, utile pour des expériences ou lorsque les ressources sont limitées.
profileboolFalseActive le profilage des vitesses ONNX et TensorRT pendant l'entraînement, utile pour optimiser le déploiement du modèle.
freezeint ou listNoneGèle les N premières couches du modèle ou des couches spécifiques par leur index, réduisant ainsi le nombre de paramètres entraînables. Utile pour le réglage fin ou l'apprentissage par transfert.
lr0float0.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.
lrffloat0.01Taux d'apprentissage final en tant que fraction du taux initial = (lr0 * lrf), utilisé conjointement avec des planificateurs pour ajuster le taux d'apprentissage au fil du temps.
momentumfloat0.937Facteur de moment pour SGD ou bêta1 pour les optimiseurs Adam, influençant l'intégration des gradients passés dans la mise à jour actuelle.
weight_decayfloat0.0005Terme de régularisation L2, pénalisant les poids trop importants pour éviter le surapprentissage.
warmup_epochsfloat3.0Nombre d'époques pour l'échauffement du taux d'apprentissage, augmentant progressivement le taux d'apprentissage d'une valeur faible vers le taux initial pour stabiliser l'entraînement dès le début.
warmup_momentumfloat0.8Momentum initial pour la phase d'échauffement, s'ajustant progressivement au momentum défini pendant la période d'échauffement.
warmup_bias_lrfloat0.1Taux d'apprentissage pour les paramètres de biais pendant la phase d'échauffement, aidant à stabiliser l'entraînement du modèle lors des premières époques.
distill_modelstrNoneChemin vers un point de contrôle de modèle enseignant (par exemple, yolo26x.pt) pour la distillation de connaissances. Lorsqu'il est défini, le modèle élève est entraîné avec une perte de distillation supplémentaire guidée par l'enseignant figé.
disfloat6.0Poids de la perte de distillation ajoutée aux pertes de détection standard. Des valeurs plus élevées augmentent l'influence du guidage des caractéristiques de l'enseignant.
boxfloat7.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.
clsfloat0.5Poids de la perte de classification dans la fonction de perte totale, affectant l'importance de la prédiction correcte de la classe par rapport aux autres composantes.
cls_pwfloat0.0Puissance de pondération des classes pour gérer le déséquilibre des classes à l'aide de la fréquence inverse des classes. 0.0 désactive la pondération des classes, 1.0 applique une pondération complète par fréquence inverse. Les valeurs comprises entre 0 et 1 fournissent une pondération partielle.
dflfloat1.5Poids de la distribution focal loss (DFL), un terme de localisation de BBox qui effectue une régression des distances des bords de la boîte.
posefloat12.0Poids de la perte de pose dans les modèles entraînés pour l'estimation de pose, influençant l'accent mis sur la prédiction précise des points clés de la pose.
kobjfloat1.0Poids de la perte de présence d'objet de point clé dans les modèles d'estimation de pose, équilibrant la confiance de détection avec la précision de la pose.
rlefloat1.0Poids de la perte d'estimation de log-vraisemblance résiduelle dans les modèles d'estimation de pose, affectant la précision de la localisation des points clés.
anglefloat1.0Poids de la perte d'angle dans les modèles OBB, affectant la précision des prédictions d'angle des boîtes englobantes orientées.
dlogfloat1.0Poids de la perte logarithmique invariante à l'échelle (SILog) dans les modèles d'estimation de profondeur, le terme principal qui pilote la précision de la profondeur.
dgradfloat0.5Poids de la perte de gradient dans les modèles d'estimation de profondeur, pénalisant les erreurs dans les contours de profondeur et encourageant des limites de surface plus nettes.
dlamfloat1.0Facteur de focalisation de variance de la perte SILog dans les modèles d'estimation de profondeur. 1.0 rend la perte totalement invariante à l'échelle, tandis que 0.0 la réduit à un simple log-RMSE.
nbsint64Taille de lot nominale pour la normalisation de la perte.
overlap_maskboolTrueDétermine si les masques d'objets doivent être fusionnés en un seul masque pour l'entraînement, ou conservés séparément pour chaque objet. En cas de chevauchement, le plus petit masque est superposé au plus grand lors de la fusion.
mask_ratioint4Ratio de sous-échantillonnage pour les masques de segmentation, affectant la résolution des masques utilisés pendant l'entraînement.
dropoutfloat0.0Taux de dropout pour la régularisation dans les tâches de classification, empêchant le surapprentissage en omettant aléatoirement des unités pendant l'entraînement.
valboolTrueActive la validation pendant l'entraînement, permettant une évaluation périodique des performances du modèle sur un jeu de données distinct.
plotsboolTrueGénère et enregistre des graphiques des métriques d'entraînement et de validation, ainsi que des exemples de prédiction, fournissant des aperçus visuels sur les performances du modèle et la progression de l'apprentissage.
compilebool ou strFalseActive la compilation de graphes PyTorch 2.x torch.compile avec backend='inductor'. Accepte True"default", False → désactive, ou un mode textuel tel que "default", "reduce-overhead", "max-autotune-no-cudagraphs". Revient au mode dynamique (eager) avec un avertissement si non pris en charge.
channels_lastboolFalseUtilise le format de mémoire channels_last (NHWC) pour les convolutions pendant l'entraînement, ce qui accélère les GPU CUDA Tensor Core sans modifier les résultats. Ignoré automatiquement sur les CPU et MPS, où il n'offre aucun avantage.
max_detint300Spécifie le nombre maximal d'objets conservés pendant la phase de validation de l'entraînement.
Note sur les paramètres de taille de lot

L'argument batch offre trois options de configuration :

  • Taille de lot fixe : Spécifiez le nombre d'images par lot à l'aide d'un entier (par exemple, batch=16).
  • Mode automatique (60 % de mémoire GPU) : Utilisez batch=-1 pour un ajustement automatique à environ 60 % de l'utilisation de la mémoire CUDA.
  • Mode automatique avec fraction d'utilisation : Définissez une fraction (par exemple, batch=0.70) pour ajuster en fonction d'une utilisation de la mémoire GPU spécifiée.

Guide d'entraînement

Paramètres de prédiction#

Les paramètres de prédiction pour les modèles YOLO incluent des hyperparamètres et des configurations qui influencent les performances, la vitesse et la précision lors de l'inférence. Les paramètres clés incluent le seuil de confiance, le seuil de suppression non maximale (NMS) et le nombre de classes. La taille des données d'entrée, le format et les fonctionnalités supplémentaires telles que les masques affectent également les prédictions. L'ajustement de ces paramètres est essentiel pour des performances optimales.

Arguments d'inférence :

ArgumentTypeDéfautDescription
sourcestr ou int ou NoneNoneSpécifie la source de données pour l'inférence. Peut être un chemin d'image, un fichier vidéo, un répertoire, une URL ou un identifiant de périphérique pour les flux en direct. Si omis, un avertissement est consigné et le modèle se rabat sur les actifs de démonstration intégrés (ultralytics/assets, ou une URL de démonstration pour OBB). Prend en charge un large éventail de formats et de sources, permettant une application flexible sur différents types d'entrées.
conffloat0.25Définit le seuil de confiance minimum pour les détections. Les objets détectés avec une confiance inférieure à ce seuil seront ignorés. Ajuster cette valeur peut aider à réduire les faux positifs.
ioufloat0.7Seuil d'intersection sur union (IoU) pour la suppression non maximale (NMS). Des valeurs plus faibles entraînent moins de détections en éliminant les boîtes qui se chevauchent, ce qui est utile pour réduire les doublons.
imgszint ou tuple640Cible Letterbox. Un entier donne un carré N×N ; un tuple donne (height, width). Avec rect=True, le tenseur réel peut être plus petit que cette cible en raison du remplissage de rectangle minimal. Utilise rect=False pour une taille fixe. Consulte Forme fixe vs rectangle minimal.
rectboolTrueSi True, utilise un remplissage de rectangle minimal lorsque c'est possible (lot de même forme et backend pris en charge). Si False, remplit toujours jusqu'au plein imgsz. Consulte Forme fixe vs rectangle minimal.
quantizeint ou strNonePrécision d'inférence : 16/"fp16" active l'inférence FP16 sur les GPU pris en charge ; 32/"fp32"/non défini correspond à FP32. La quantification INT8/PTQ est configurée lors de l'exportation, puis utilisée en chargeant le modèle exporté. Remplace l'ancien fanion déprécié half.
devicestrNoneSpécifie le périphérique pour l'inférence (par exemple, cpu, cuda:0, 0, npu ou npu:0). Permet aux utilisateurs de choisir entre un CPU, un GPU spécifique, un NPU Huawei Ascend ou d'autres périphériques de calcul pour l'exécution du modèle.
batchint1Spécifie la taille du lot pour l'inférence (fonctionne uniquement lorsque la source est un répertoire, un fichier vidéo ou un fichier .txt). Une taille de lot plus grande peut offrir un débit plus élevé, réduisant le temps total requis pour l'inférence.
max_detint300Nombre maximum de détections autorisées par image. Limite le nombre total d'objets que le modèle peut détecter en une seule inférence, évitant des sorties excessives dans les scènes denses.
vid_strideint1Pas d'image pour les entrées vidéo. Permet de sauter des images dans les vidéos pour accélérer le traitement au prix de la résolution temporelle. Une valeur de 1 traite chaque image, des valeurs plus élevées sautent des images.
stream_bufferboolFalseDétermine s'il faut mettre en file d'attente les images entrantes pour les flux vidéo. Si False, les anciennes images sont rejetées pour laisser place aux nouvelles (optimisé pour les applications en temps réel). Si True, met en file d'attente les nouvelles images dans un tampon, garantissant qu'aucune image n'est ignorée, mais cela entraînera de la latence si le nombre d'images par seconde (FPS) de l'inférence est inférieur à celui du flux.
visualizeboolFalseEnregistre une carte thermique d'activation de classe à côté de chaque prédiction, montrant quels pixels ont augmenté les scores de classe prédits. Respecte conf et classes, de sorte que classes=[0] ne cartographie que cette classe. Uniquement disponible pour les modèles PyTorch.
augmentboolFalseActive l'augmentation au moment du test (TTA) pour les prédictions, améliorant potentiellement la robustesse de la détection au prix de la vitesse d'inférence.
agnostic_nmsboolFalseActive la Non-Maximum Suppression (NMS) agnostique aux classes, qui fusionne les boîtes qui se chevauchent de différentes classes. Utile dans les scénarios de détection multi-classe où le chevauchement des classes est courant. Pour les modèles de bout en bout (YOLO26, YOLOv10), cela empêche uniquement la même détection d'apparaître avec plusieurs étiquettes de classe (doublons IoU=1.0) et n'effectue pas de suppression basée sur le seuil IoU entre des boîtes distinctes.
classeslist[int]NoneFiltre les prédictions vers un ensemble d'ID de classe. Seules les détections appartenant aux classes spécifiées seront retournées. Utile pour se concentrer sur des objets pertinents dans les tâches de détection multi-classe.
retina_masksboolFalseRenvoie des masques de segmentation haute résolution. Les masques renvoyés (masks.data) correspondront à la taille d'origine de l'image s'ils sont activés. S'ils sont désactivés, ils auront la taille d'image utilisée lors de l'inférence.
embedlist[int]NoneSpécifie les couches à partir desquelles extraire des vecteurs de caractéristiques ou des plongements (embeddings). Utilise model.embed(source) pour les plongements de l'avant-dernière couche, ou model.predict(source, embed=[layer]) pour sélectionner des couches spécifiques. Utile pour des tâches en aval telles que le clustering ou la recherche de similarité.
projectstrNoneNom du répertoire de projet où les résultats de prédiction sont enregistrés si save est activé.
namestrNoneNom de l'exécution de prédiction. Utilisé pour créer un sous-répertoire dans le dossier du projet, où les résultats de prédiction sont stockés si save est activé.
streamboolFalseActive un traitement efficace en mémoire pour les longues vidéos ou de nombreuses images en retournant un générateur d'objets Results au lieu de charger toutes les images en mémoire à la fois.
verboseboolTrueContrôle s'il faut afficher les journaux d'inférence détaillés dans le terminal, fournissant un retour en temps réel sur le processus de prédiction.
compilebool ou strFalseActive la compilation de graphes PyTorch 2.x torch.compile avec backend='inductor'. Accepte True"default", False → désactive, ou un mode textuel tel que "default", "reduce-overhead", "max-autotune-no-cudagraphs". Revient au mode dynamique (eager) avec un avertissement si non pris en charge.
channels_lastboolFalseUtilise le format de mémoire channels_last (NHWC) pour les convolutions pendant l'inférence, ce qui accélère les GPU CUDA Tensor Core sans modifier les résultats. S'applique uniquement aux modèles PyTorch natifs ; ignoré pour les CPU, MPS et les formats exportés tels que TensorRT et ONNX.
end2endboolNoneRemplace le mode de bout en bout (end-to-end) dans les modèles YOLO qui prennent en charge l'inférence sans NMS (YOLO26, YOLOv10). Le définir sur False te permet d'exécuter la prédiction à l'aide du pipeline NMS traditionnel, tout en te permettant d'utiliser l'argument iou. Consulte le guide de détection de bout en bout pour plus de détails.

Arguments de visualisation :

ArgumentTypeDéfautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat pendant le développement ou les tests.
saveboolFalse or TrueActive l'enregistrement des images ou vidéos annotées dans des fichiers. Utile pour la documentation, l'analyse approfondie ou le partage des résultats. Par défaut à True lors de l'utilisation de CLI & False lorsqu'utilisé en Python.
save_framesboolFalseLors du traitement de vidéos, enregistre des images individuelles. Utile pour extraire des images spécifiques ou pour une analyse détaillée image par image.
save_txtboolFalseEnregistre les résultats de détection dans un fichier texte, selon le format [class] [x_center] [y_center] [width] [height] [confidence]. Utile pour l'intégration avec d'autres outils d'analyse.
save_confboolFalseInclut les scores de confiance dans les fichiers texte enregistrés. Améliore les détails disponibles pour le post-traitement et l'analyse.
save_cropboolFalseEnregistre des images recadrées des détections. Utile pour l'augmentation de jeu de données, l'analyse ou la création de jeux de données ciblés pour des objets spécifiques.
show_labelsboolTrueAffiche les étiquettes pour chaque détection dans la sortie visuelle. Permet une compréhension immédiate des objets détectés.
show_confboolTrueAffiche le score de confiance pour chaque détection à côté de l'étiquette. Donne un aperçu de la certitude du modèle pour chaque détection.
show_boxesboolTrueDessine des boîtes englobantes autour des objets détectés. Essentiel pour l'identification visuelle et la localisation d'objets dans des images ou des trames vidéo.
line_widthint or NoneNoneSpécifie l'épaisseur de ligne des boîtes englobantes. Si None, l'épaisseur de ligne est automatiquement ajustée en fonction de la taille de l'image. Offre une personnalisation visuelle pour plus de clarté.

Guide de prédiction

Paramètres de validation#

Les paramètres de validation pour les modèles YOLO impliquent des hyperparamètres et des configurations permettant d'évaluer les performances sur un dataset de validation. Ces réglages influencent les performances, la vitesse et la précision. Les paramètres courants incluent la taille du lot, la fréquence de validation et les métriques de performance. La taille et la composition du dataset de validation, ainsi que la tâche spécifique, affectent également le processus.

ArgumentTypeDéfautDescription
datastrNoneSpécifie le chemin d'accès au fichier de configuration du dataset (par exemple, coco8.yaml). Ce fichier doit inclure le chemin vers les données de validation.
imgszint640Définit la taille des images d'entrée. Toutes les images sont redimensionnées à cette dimension avant le traitement. Des tailles plus grandes peuvent améliorer la précision pour les petits objets mais augmentent le temps de calcul.
batchint16Définit le nombre d'images par lot. Des valeurs plus élevées utilisent la mémoire GPU plus efficacement mais nécessitent plus de VRAM. Ajuste selon les ressources matérielles disponibles.
save_jsonboolFalseSi True, enregistre les résultats dans un fichier JSON pour une analyse plus approfondie, une intégration avec d'autres outils ou une soumission à des serveurs d'évaluation tels que COCO.
conffloat0.001Définit le seuil de confiance minimal pour les détections. Des valeurs plus faibles augmentent le rappel mais peuvent introduire davantage de faux positifs. Utilisé lors de la validation pour calculer les courbes précision-rappel. Vaut par défaut 0.01 pour la validation OBB afin de réduire l'utilisation de la mémoire.
ioufloat0.7Définit le seuil d'intersection sur union pour la suppression non maximale. Contrôle l'élimination des détections en double.
max_detint300Limite le nombre maximum de détections par image. Utile dans les scènes denses pour éviter des détections excessives et gérer les ressources informatiques.
quantizeint ou strNonePrécision de validation : 16/"fp16" active la validation FP16 sur les GPU pris en charge ; 32/"fp32"/non défini correspond à FP32. La quantification INT8/PTQ est configurée lors de l'exportation, puis utilisée en validant le modèle exporté. Remplace l'ancien fanion déprécié half.
devicestrNoneSpécifie le périphérique pour la validation (cpu, cuda:0, npu, npu:0, etc.). Lorsque réglé sur None, sélectionne automatiquement le meilleur périphérique disponible. Plusieurs périphériques CUDA peuvent être spécifiés en les séparant par des virgules.
dnnboolFalseSi True, utilise le module DNN d'OpenCV pour l'inférence du modèle ONNX, offrant une alternative aux méthodes d'inférence PyTorch.
plotsboolTrueLorsqu'il est défini sur True, génère et enregistre des graphiques de prédictions par rapport à la vérité terrain (ground truth), des matrices de confusion et des courbes PR pour une évaluation visuelle des performances du modèle.
classeslist[int]NoneSpécifie une liste d'IDs de classes à évaluer. Utile pour filtrer et se concentrer uniquement sur certaines classes lors de l'évaluation.
rectboolTrueSi True, utilise une inférence rectangulaire pour la constitution des lots, réduisant le remplissage et augmentant potentiellement la vitesse et l'efficacité en traitant les images dans leur rapport d'aspect d'origine.
splitstr'val'Détermine la division du dataset à utiliser pour la validation (val, test ou train). Offre de la flexibilité dans le choix du segment de données pour l'évaluation des performances.
projectstrNoneNom du répertoire du projet où les sorties de validation sont enregistrées. Aide à organiser les résultats de différentes expériences ou modèles.
namestrNoneNom de l'exécution de validation. Utilisé pour créer un sous-répertoire dans le dossier du projet, où les journaux et les sorties de validation sont stockés.
verboseboolTrueSi True, affiche des informations détaillées pendant le processus de validation, y compris les métriques par classe, la progression des lots et des informations de débogage supplémentaires.
save_txtboolFalseSi True, enregistre les résultats de détection dans des fichiers texte, à raison d'un fichier par image, ce qui est utile pour une analyse plus poussée, un post-traitement personnalisé ou une intégration avec d'autres systèmes.
save_confboolFalseSi True, inclut les valeurs de confiance dans les fichiers texte enregistrés lorsque save_txt est activé, fournissant des résultats plus détaillés pour l'analyse et le filtrage.
workersint8Nombre de threads de travail pour le chargement des données. Des valeurs plus élevées peuvent accélérer le prétraitement des données mais peuvent augmenter l'utilisation du CPU. Définir sur 0 utilise le thread principal, ce qui peut être plus stable dans certains environnements.
augmentboolFalseActive l'augmentation en temps de test (TTA) pendant la validation, améliorant potentiellement la précision de la détection au prix de la vitesse d'inférence en effectuant l'inférence sur des versions transformées de l'entrée.
agnostic_nmsboolFalseActive la suppression non maximale agnostique aux classes, qui fusionne les boîtes qui se chevauchent indépendamment de leur classe prédite. Utile pour les applications axées sur les instances. Pour les modèles de bout en bout (YOLO26, YOLOv10), cela empêche uniquement la même détection d'apparaître avec plusieurs étiquettes de classe (doublons avec IoU=1,0) et n'effectue pas de suppression basée sur un seuil d'IoU entre des boîtes distinctes.
single_clsboolFalseTraite toutes les classes comme une seule classe pendant la validation. Utile pour évaluer les performances du modèle sur des tâches de détection binaire ou lorsque les distinctions de classe ne sont pas importantes.
visualizeboolFalseVisualise les vérités terrain, les vrais positifs, les faux positifs et les faux négatifs pour chaque image. Utile pour le débogage et l'interprétation du modèle.
show_labelsboolTrueAffiche les étiquettes de classe dans les visualisations de validation lorsque visualize=True. Définis sur False pour une vue plus épurée des correspondances et des erreurs.
show_confboolTrueAffiche les scores de confiance dans les visualisations de validation lorsque visualize=True. Définis sur False pour une vue plus épurée des correspondances et des erreurs.
compilebool ou strFalseActive la compilation de graphes PyTorch 2.x torch.compile avec backend='inductor'. Accepte True"default", False → désactive, ou un mode textuel tel que "default", "reduce-overhead", "max-autotune-no-cudagraphs". Revient au mode dynamique (eager) avec un avertissement si non pris en charge.
channels_lastboolFalseUtilise le format de mémoire channels_last (NHWC) pour les convolutions lors de la validation, ce qui accélère les GPU CUDA Tensor Core sans modifier les résultats. S'applique uniquement aux modèles PyTorch natifs ; ignoré pour le CPU, le MPS et les formats exportés tels que TensorRT et ONNX.
end2endboolNoneRemplace le mode de bout en bout dans les modèles YOLO qui prennent en charge l'inférence sans NMS (YOLO26, YOLOv10). Le définir sur False te permet d'exécuter la validation à l'aide du pipeline NMS traditionnel, tout en te permettant d'utiliser l'argument iou.

Un réglage minutieux et des expérimentations sont essentiels pour garantir des performances optimales ainsi que pour détecter et prévenir le surapprentissage.

Guide de validation

Paramètres d'exportation#

Les paramètres d'exportation pour les modèles YOLO incluent des configurations pour enregistrer ou exporter le modèle afin de l'utiliser dans différents environnements. Ces paramètres impactent les performances, la taille et la compatibilité. Les paramètres clés incluent le format de fichier exporté (par ex. ONNX, TensorFlow SavedModel), le périphérique cible (par ex. CPU, GPU) et des fonctionnalités comme les masques. La tâche du modèle et les contraintes de l'environnement de destination affectent également le processus d'exportation.

ArgumentTypeDéfautDescription
formatstr'torchscript'Format cible pour le modèle exporté, tel que 'onnx', 'torchscript', 'engine' (TensorRT) ou autres. Chaque format assure la compatibilité avec différents environnements de déploiement.
imgszint ou tuple640Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour des images carrées (par exemple, 640 pour 640×640) ou un tuple (height, width) pour des dimensions spécifiques.
kerasboolFalseActive l'exportation au format Keras pour le SavedModel de TensorFlow, offrant une compatibilité avec le service et les API TensorFlow.
optimizeboolFalseActive une optimisation de compilation supérieure pour DEEPX, réduisant la latence d'inférence tout en augmentant le temps de compilation.
quantizeint ou strNonePrécision de quantification : 16 (FP16, réduit la taille du modèle et peut accélérer l'inférence sur le matériel pris en charge) ou 8 (INT8/PTQ, compresse davantage le modèle avec une perte de précision minimale, principalement pour les appareils en périphérie (edge devices) ; nécessite un étalonnage data/fraction) ; 32/non défini correspond à FP32. Les formats d'exportation qui prennent en charge la précision mixte des poids et des activations acceptent également la notation 'w8a8'/'w16a16'/'w8a16'/'w8a32'. Remplace les anciens fanions dépréciés half/int8 (half=True16, int8=True8, toujours acceptés avec un avertissement de dépréciation). Seules les précisions prises en charge par le format cible sont autorisées (voir ci-dessous).
dynamicboolFalseAutorise des tailles d'entrée dynamiques pour les exportations TorchScript, ONNX, OpenVINO, TensorRT et CoreML, améliorant la flexibilité dans la gestion des dimensions d'image variables.
simplifyboolTrueSimplifie le graphe ONNX intermédiaire avec onnxslim pour les exportations qui en construisent un (voir Formats d'exportation), améliorant potentiellement les performances et la compatibilité avec les moteurs d'inférence.
opsetintNoneSpécifie la version de l'opset ONNX pour les exportations qui construisent un graphe ONNX (voir Formats d'exportation), pour la compatibilité avec différents analyseurs et environnements d'exécution ONNX. S'il n'est pas défini, utilise la dernière version prise en charge.
workspacefloat ou NoneNoneDéfinit la taille maximale de l'espace de travail en Gio pour les optimisations TensorRT, équilibrant l'utilisation de la mémoire et les performances. Utilise None pour une allocation automatique par TensorRT jusqu'au maximum du périphérique.
nmsboolFalseAjoute la suppression non maximale (NMS) au modèle exporté lorsqu'elle est prise en charge (voir Formats d'exportation), améliorant l'efficacité du post-traitement des détections. Non disponible pour les modèles de bout en bout (end2end). Pour CoreML, pris en charge uniquement pour les modèles de détection.
batchint1Spécifie la taille d'inférence par lot du modèle exporté ou le nombre maximal d'images que le modèle exporté traitera simultanément en mode predict. Pour les exportations Edge TPU, cette valeur est automatiquement définie sur 1.
devicestrNoneSpécifie le périphérique pour l'exportation : GPU (device=0), CPU (device=cpu), MPS pour les puces Apple Silicon (device=mps), NPU Huawei Ascend (device=npu ou device=npu:0), ou DLA pour NVIDIA Jetson (device=dla:0 ou device=dla:1). Les exportations TensorRT utilisent automatiquement le GPU, mais TensorRT 11.0 ne prend pas en charge DLA.
datastrNoneChemin d'accès au fichier de configuration du dataset, indispensable pour l'étalonnage de la quantification INT8. S'il n'est pas spécifié alors que l'INT8 est activé, Ultralytics sélectionne un dataset d'étalonnage spécifique à la tâche si nécessaire, ou se rabat sur le dataset par défaut pour la tâche du modèle.
fractionfloat1.0Spécifie la fraction du jeu de données à utiliser pour le calibrage de la quantification INT8. Permet le calibrage sur un sous-ensemble du jeu de données complet, utile pour des expériences ou lorsque les ressources sont limitées. S'il n'est pas spécifié avec INT8 activé, le jeu de données complet sera utilisé.
end2endboolNoneRemplace le mode de bout en bout dans les modèles YOLO qui prennent en charge l'inférence sans NMS (YOLO26, YOLOv10). Le définir sur False te permet d'exporter ces modèles afin qu'ils soient compatibles avec le pipeline de post-traitement traditionnel basé sur la NMS. Consulte le guide de détection de bout en bout pour plus de détails.

Une configuration réfléchie garantit que le modèle exporté est optimisé pour son cas d'utilisation et fonctionne efficacement dans l'environnement cible.

Guide d'exportation

Paramètres des solutions#

Les paramètres de configuration d'Ultralytics Solutions offrent la flexibilité de personnaliser les modèles pour des tâches telles que le comptage d'objets, la création de cartes thermiques, le suivi d'entraînement, l'analyse de données, le suivi de zone, la gestion de files d'attente et le comptage basé sur les régions. Ces options permettent des ajustements faciles pour des résultats précis et utiles adaptés à des besoins spécifiques.

ArgumentTypeDéfautDescription
modelstrNoneChemin d'accès vers un fichier de modèle YOLO d'Ultralytics.
regionlist ou dictNonePoints définissant la région d'intérêt, soit une liste de tuples (x, y), soit un dictionnaire associant des noms de région à des listes de points pour plusieurs régions (RegionCounter uniquement). Lorsque réglé sur None, les solutions nécessitant une région se replient sur une valeur par défaut prédéfinie.
show_inboolTrueIndicateur pour contrôler s'il faut afficher les comptages entrants sur le flux vidéo.
show_outboolTrueIndicateur pour contrôler s'il faut afficher les comptages sortants sur le flux vidéo.
analytics_typestr'line'Type de graphe, c'est-à-dire line, bar, area ou pie.
colormapintcv2.COLORMAP_DEEPGREENPalette de couleurs à utiliser pour la carte de chaleur.
json_filestrNoneChemin d'accès au fichier JSON qui contient toutes les données de coordonnées de stationnement.
up_anglefloat145.0Seuil d'angle pour la posture 'vers le haut'.
kptslist[int]'[6, 8, 10]'Liste de trois indices de points clés utilisés pour surveiller les exercices physiques. Ces points clés correspondent aux articulations ou parties du corps, comme les épaules, les coudes et les poignets, pour des exercices tels que les pompes, les tractions, les squats et les abdominaux.
down_angleint90Seuil d'angle pour la posture 'vers le bas'.
blur_ratiofloat0.5Ajuste le pourcentage d'intensité du flou, avec des valeurs comprises dans l'intervalle 0.1 - 1.0.
crop_dirstr'cropped-detections'Nom du répertoire pour stocker les détections recadrées.
recordsint5Nombre total de détections pour déclencher un e-mail avec le système d'alarme de sécurité.
vision_pointtuple[int, int](20, 20)Le point où la vision suivra les objets et dessinera des chemins en utilisant la Solution VisionEye.
sourcestrNoneChemin vers la source d'entrée (vidéo, RTSP, etc.). Utilisable uniquement avec l'interface de ligne de commande (CLI) des Solutions.
figsizetuple[float, float](12.8, 7.2)Taille de figure pour les graphiques analytiques tels que les cartes de chaleur ou les graphiques.
fpsfloat30.0Images par seconde utilisées pour les calculs de vitesse.
max_histint5Points historiques maximum à suivre par objet pour les calculs de vitesse/direction.
meter_per_pixelfloat0.05Facteur d'échelle utilisé pour convertir la distance en pixels en unités du monde réel.
max_speedint120Limite de vitesse maximale dans les superpositions visuelles (utilisée dans les alertes).
datastr'images'Chemin vers le répertoire d'images utilisé pour la recherche de similarité.
imgszint640Taille de l'image d'entrée pour l'inférence du modèle.

Guide des solutions

Paramètres d'augmentation#

Les techniques d'augmentation de données sont essentielles pour améliorer la robustesse et les performances du modèle YOLO en introduisant de la variabilité dans les données d'entraînement, ce qui aide le modèle à mieux généraliser sur des données invisibles. Le tableau suivant résume l'objectif et l'effet de chaque argument d'augmentation :

ArgumentTypeDéfautTâches prises en chargePlageDescription
hsv_hfloat0.015detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Ajuste la teinte de l'image par une fraction de la roue chromatique, introduisant une variabilité des couleurs. Aide le modèle à généraliser dans différentes conditions d'éclairage.
hsv_sfloat0.7detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Alterne la saturation de l'image par une fraction, affectant l'intensité des couleurs. Utile pour simuler différentes conditions environnementales.
hsv_vfloat0.4detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Modifie la valeur (luminosité) de l'image par une fraction, aidant le modèle à bien fonctionner dans diverses conditions d'éclairage.
degreesfloat0detect, segment, semantic, depth, pose, obb0.0 - 180Fait pivoter l'image de manière aléatoire dans la plage de degrés spécifiée, ce qui améliore la capacité du modèle à reconnaître les objets selon diverses orientations.
translatefloat0.1detect, segment, semantic, depth, pose, obb0.0 - 1.0Translate l'image horizontalement et verticalement d'une fraction de la taille de l'image, ce qui aide à apprendre à détecter des objets partiellement visibles.
scalefloat0.5detect, segment, semantic, depth, classify, pose, obb0 - 1Met l'image à l'échelle selon un facteur de gain, simulant des objets à différentes distances de la caméra.
shearfloat0detect, segment, semantic, depth, pose, obb-180 - +180Applique un cisaillement à l'image selon un degré spécifié, imitant l'effet d'objets vus sous différents angles.
perspectivefloat0detect, segment, semantic, depth, pose, obb0.0 - 0.001Applique une transformation de perspective aléatoire à l'image, améliorant la capacité du modèle à comprendre les objets dans un espace 3D.
flipudfloat0detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Retourne l'image de haut en bas avec la probabilité spécifiée, augmentant la variabilité des données sans affecter les caractéristiques de l'objet.
fliplrfloat0.5detect, segment, semantic, depth, classify, pose, obb0.0 - 1.0Retourne l'image de gauche à droite avec la probabilité spécifiée, utile pour apprendre des objets symétriques et augmenter la diversité du jeu de données.
bgrfloat0detect, segment, semantic, depth, pose, obb0.0 - 1.0Inverse les canaux de l'image de RGB à BGR avec la probabilité spécifiée, utile pour augmenter la robustesse face à un ordre de canaux incorrect.
mosaicfloat1detect, segment, semantic, pose, obb0.0 - 1.0Combine quatre images d'entraînement en une seule, simulant différentes compositions de scènes et interactions entre objets. Très efficace pour la compréhension de scènes complexes.
mixupfloat0detect, segment, semantic, pose, obb0.0 - 1.0Mélange deux images et leurs étiquettes, créant une image composite. Améliore la capacité du modèle à généraliser en introduisant du bruit dans les étiquettes et de la variabilité visuelle.
cutmixfloat0detect, segment, pose, obb0.0 - 1.0Combine des portions de deux images, créant un mélange partiel tout en conservant des régions distinctes. Améliore la robustesse du modèle en créant des scénarios d'occlusion.
copy_pastefloat0segment0.0 - 1.0Copie et colle des objets à travers les images pour augmenter le nombre d'instances d'objets.
copy_paste_modestrflipsegment-Spécifie la stratégie copy-paste à utiliser. Les options incluent 'flip' et 'mixup'.
auto_augmentstrrandaugmentclassify-Applique une politique d'augmentation prédéfinie ('randaugment', 'autoaugment' ou 'augmix') pour améliorer les performances du modèle grâce à la diversité visuelle.
erasingfloat0.4classify0.0 - 1.0Efface aléatoirement des régions de l'image pendant l'entraînement pour encourager le modèle à se concentrer sur des caractéristiques moins évidentes.
augmentationslistNonedetect, segment, semantic, pose, obb-Transformations Albumentations personnalisées pour une augmentation de données avancée (API Python uniquement). Accepte une liste d'objets de transformation pour des besoins d'augmentation spécialisés.

Ajuste ces paramètres pour répondre aux exigences du jeu de données et de la tâche. Expérimenter avec différentes valeurs peut t'aider à trouver la stratégie d'augmentation optimale pour les meilleures performances du modèle.

Guide d'augmentation

Paramètres de journalisation, de points de contrôle et de traçage#

La journalisation, les points de contrôle, le traçage et la gestion des fichiers sont importants lors de l'entraînement d'un modèle YOLO :

  • Journalisation : Suivis la progression du modèle et diagnostique les problèmes en utilisant des bibliothèques comme TensorBoard ou en écrivant dans un fichier.
  • Points de contrôle : Enregistre le modèle à intervalles réguliers pour reprendre l'entraînement ou expérimenter avec différentes configurations.
  • Traçage : Visualise les performances et la progression de l'entraînement en utilisant des bibliothèques comme Matplotlib ou TensorBoard.
  • Gestion des fichiers : Organise les fichiers générés pendant l'entraînement, tels que les points de contrôle, les fichiers journaux et les tracés, pour un accès et une analyse faciles.

Une gestion efficace de ces aspects aide à suivre la progression et facilite le débogage et l'optimisation.

ArgumentDéfautDescription
projectNoneSpécifie le répertoire racine pour enregistrer les exécutions d'entraînement. Si non spécifié, les exécutions sont enregistrées sous runs/<task>. Chaque exécution est enregistrée dans un sous-répertoire séparé.
nameNoneDéfinit le nom de l'expérience. Si non spécifié, YOLO utilise le nom du mode et l'incrémente pour chaque exécution (par ex., train, train-2) pour éviter l'écrasement.
exist_okFalseDétermine s'il faut écraser un répertoire d'expérience existant. True permet l'écrasement ; False l'empêche.
plotsTrueContrôle la génération et l'enregistrement des graphiques d'entraînement et de validation. Définis sur True pour créer des graphiques tels que les courbes de perte, les courbes precision-recall et des exemples de prédictions pour le suivi visuel des performances.
saveTruePermet d'enregistrer les points de contrôle de l'entraînement et les poids finaux du modèle. Définis sur True pour enregistrer périodiquement les états du modèle, permettant la reprise de l'entraînement ou le déploiement du modèle.

Fichier de configuration personnalisé#

Charge un fichier YAML enregistré pour réutiliser un ensemble complet d'arguments sans les passer en ligne. L'argument cfg remplace les valeurs de default.yaml, tandis que les arguments supplémentaires passés en même temps ont toujours la priorité.

ArgumentDéfautDescription
cfgNoneChemin d'accès vers un fichier YAML dont les valeurs remplacent les entrées default.yaml. Consulte Overriding Default Config File pour un exemple concret en CLI.

FAQ#

Comment puis-je améliorer les performances de mon modèle YOLO pendant l'entraînement ?#

Améliore les performances en réglant des hyperparamètres tels que la batch size, le learning rate, le momentum et la dégradation de poids. Ajuste les paramètres de data augmentation, sélectionne le bon optimiseur et utilise des techniques comme l'arrêt précoce ou le mixed precision. Pour plus de détails, consulte le Train Guide.

Quels sont les hyperparamètres clés pour la précision du modèle YOLO ?#

Les hyperparamètres clés affectant la précision incluent :

  • Taille de lot (batch) : Des tailles plus grandes peuvent stabiliser l'entraînement mais nécessitent plus de mémoire.
  • Taux d'apprentissage (lr0) : Des taux plus faibles offrent des ajustements fins mais une convergence plus lente.
  • Momentum (momentum) : Accélère les vecteurs de gradient, atténuant les oscillations.
  • Taille d'image (imgsz) : Des tailles plus grandes améliorent la précision mais augmentent la charge de calcul.

Ajuste ceux-ci en fonction de ton jeu de données et de ton matériel. Apprends-en plus dans Train Settings.

Comment définir le taux d'apprentissage pour entraîner un modèle YOLO ?#

Le taux d'apprentissage (lr0) est crucial ; commence avec 0.01 pour SGD ou 0.001 pour l'Adam optimizer. Surveille les métriques et ajuste selon les besoins. Utilise des planificateurs de taux d'apprentissage cosinus (cos_lr) ou l'échauffement (warmup_epochs, warmup_momentum). Les détails se trouvent dans le Train Guide.

Quels sont les paramètres d'inférence par défaut pour les modèles YOLO ?#

Les paramètres par défaut incluent :

  • Seuil de confiance (conf=0.25) : Confiance minimale pour les détections.
  • Seuil IoU (iou=0.7) : Pour la Non-Maximum Suppression (NMS).
  • Taille d'image (imgsz=640) : Redimensionne les images d'entrée.
  • Appareil (device=None) : Sélectionne le CPU, le GPU, Apple MPS ou la NPU Huawei Ascend (npu).

Pour un aperçu complet, consulte Predict Settings et le Predict Guide.

Pourquoi utiliser l'entraînement en précision mixte avec les modèles YOLO ?#

L'entraînement en mixed precision (amp=True) réduit l'utilisation de la mémoire et accélère l'entraînement en utilisant FP16 et FP32. Il est bénéfique pour les GPU modernes, permettant des modèles plus grands et des calculs plus rapides sans perte significative de précision. Apprends-en plus dans le Train Guide.

Commentaires