Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Callback

Un callback est une fonction appelée à des moments définis par une boucle d’entraînement, par exemple à la fin de chaque époque, pour ajouter un arrêt anticipé, des points de contrôle ou la journalisation.

Un rappel est une fonction transmise à un autre bloc de code, qui la rappelle lorsqu’un événement précis se produit. Les gestionnaires d’événements d’interfaces utilisateur, les fonctions de complétion du code asynchrone et la fonction de comparaison fournie à une routine de tri sont tous des rappels. Dans les frameworks d’apprentissage profond, les événements correspondent à des moments de la boucle d’entraînement, comme son début, la fin de chaque lot ou époque, et la fin de la validation. Les rappels associés à un événement s’exécutent à ce moment-là et accèdent à l’état de l’entraîneur ; les utilisateurs peuvent ainsi ajouter un arrêt anticipé contre le surapprentissage, la sauvegarde de points de contrôle, des stratégies de taux d’apprentissage ou la journalisation, sans modifier la boucle elle-même.

Comment les rappels s’intègrent à l’entraînement#

Un framework conserve une liste de rappels pour chaque événement nommé et les appelle tous lorsque la boucle atteint cet événement, en transmettant l’objet entraîneur ou modèle afin qu’un rappel puisse lire les métriques et modifier les paramètres. Keras les regroupe dans son module keras.callbacks, PyTorch Lightning dans des sous-classes de Callback, et les Transformers de Hugging Face dans TrainerCallback. Les noms des méthodes varient selon les bibliothèques, mais les événements suivent la même boucle :

Comme les rappels s’exécutent dans la boucle, ils peuvent aussi la modifier : un rappel qui définit un indicateur d’arrêt met fin à l’entraînement après l’époque en cours, et un rappel qui modifie l’optimiseur change toutes les étapes suivantes. Les rappels d’un même événement s’exécutent dans l’ordre de leur enregistrement, et ceux qui interviennent au niveau des lots s’exécutent des milliers de fois par époque ; les opérations lentes, comme le téléversement de fichiers, doivent donc être réservées aux événements au niveau de l’époque. Lors de l’entraînement distribué, chaque processus exécute sa propre copie de la boucle et de ses rappels ; les rappels de journalisation et de sauvegarde des points de contrôle n’agissent donc généralement que sur le processus principal, de rang 0, afin d’éviter que plusieurs GPU écrivent le même fichier.

Rappels d’entraînement courants#

  • Arrêt anticipé : interrompt l’entraînement lorsqu’une métrique de validation ne s’est pas améliorée pendant un nombre défini d’époques, appelé patience, ce qui limite le surapprentissage et économise de la puissance de calcul. Le rappel EarlyStopping de Keras peut aussi restaurer les meilleurs poids observés avant l’arrêt.
  • Sauvegarde de points de contrôle : enregistre le modèle à chaque époque ou chaque fois qu’une métrique surveillée s’améliore, afin de conserver les meilleurs poids et de pouvoir reprendre un entraînement interrompu par un plantage. Le rappel BackupAndRestore de Keras utilise l’état sauvegardé pour reprendre automatiquement un entraînement interrompu.
  • Planification du taux d’apprentissage : réduit le taux d’apprentissage lorsqu’une métrique plafonne, comme le fait le rappel ReduceLROnPlateau de Keras, ou suit un calendrier fixe, tel qu’une décroissance cosinus.
  • Suivi des expériences : envoie les pertes, les métriques et des images d’exemple à des outils comme TensorBoard, MLflow ou Weights & Biases après chaque époque.
  • Réglage des hyperparamètres : transmet le score de chaque époque à un optimiseur comme Ray Tune, dont les ordonnanceurs interrompent rapidement les essais peu prometteurs.

Écrire un rappel personnalisé#

Ultralytics YOLO déclenche des événements nommés pendant l’entraînement, la validation, la prédiction et l’exportation, comme on_train_epoch_end et on_fit_epoch_end ; ses propres intégrations pour MLflow, Comet, ClearML, TensorBoard et Ultralytics Platform sont enregistrées comme rappels sur ces événements. Ce rappel lit la mAP50-95 de validation après chaque époque et arrête un entraînement YOLO26 dès qu’il atteint une cible :

from ultralytics import YOLO


def stop_at_target(trainer):
    """Stop training once validation mAP50-95 reaches 0.6."""
    score = trainer.metrics["metrics/mAP50-95(B)"]
    print(f"Epoch {trainer.epoch + 1}: mAP50-95 {score:.3f}")
    if score >= 0.6:
        trainer.stop = True  # the trainer ends the run after this epoch


model = YOLO("yolo26n.pt")
model.add_callback("on_fit_epoch_end", stop_at_target)  # runs after each epoch's validation
model.train(data="coco8.yaml", epochs=20)

L’événement on_fit_epoch_end se déclenche après l’entraînement et la validation de l’époque ; trainer.metrics contient donc déjà les scores de cette époque. Définir trainer.stop fait sortir l’entraîneur de sa boucle d’époques, exécuter la validation finale habituelle sur les meilleurs poids et enregistrer les résultats, comme lorsque la limite intégrée patience est atteinte.

Rappels et hooks#

Les deux termes désignent souvent la même chose : dans PyTorch Lightning, les méthodes implémentées par un rappel sont appelées des points d’extension. Dans PyTorch lui-même, les points d’extension des modules enregistrés avec register_forward_hook ou register_full_backward_hook sont associés au passage avant ou arrière d’une seule couche, plutôt qu’à un événement de la boucle d’entraînement ; ils servent à lire les cartes de caractéristiques pour les visualiser ou à examiner et modifier les gradients pendant la rétropropagation.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique