Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Callback

Découvrez comment les rappels optimisent la formation Ultralytics . Apprenez à mettre en œuvre l'arrêt précoce, les points de contrôle et la journalisation personnalisée pour améliorer vos flux de travail d'IA.

Dans le domaine du génie logiciel et de l' de l'intelligence artificielle (IA), un rappel est un morceau de code exécutable qui est passé comme argument à un autre code, qui est ensuite censé exécuter (rappeler) l'argument à un moment donné. Dans le contexte spécifique du deep learning (DL) , les callbacks sont des outils essentiels qui permettent aux développeurs de personnaliser le comportement du formation des modèles sans modifier le code de formation de base lui-même. Ils agissent comme des déclencheurs automatisés qui effectuent des actions spécifiques à différentes étapes du processus de formation, telles que le début ou la fin d'une époque, d'un lot d'entraînement ou de la session d'entraînement dans son ensemble.

Le rôle des rappels dans l'apprentissage automatique

Entraînement d'un réseau neuronal complexe réseau neuronal peut prendre des heures, voire des jours. Sans les rappels, le processus de formation est essentiellement une « boîte noire » qui fonctionne jusqu'à son achèvement, nécessitant souvent une supervision manuelle. Les rappels introduisent l'observabilité et le contrôle, permettant au système de s' autoréguler en fonction des mesures de performance en temps réel

Lorsque vous utilisez des bibliothèques de haut niveau telles que PyTorch ou TensorFlow, les rappels permettent d'injecter de la logique dans l' algorithme d'optimisation. Par exemple, si un modèle apprend bien, un rappel peut enregistrer l'état actuel ; s'il cesse d'apprendre, un rappel peut interrompre le processus afin d'économiser des ressources. Cela rend l' flux de travail d'apprentissage automatique (ML) plus efficace et robuste .

Applications courantes et exemples concrets

Les rappels sont polyvalents et peuvent être utilisés pour un large éventail de tâches pendant la surveillance des modèles et l' optimisation.

  • Arrêt prématuré : L'une des utilisations les plus courantes est l' l'arrêt précoce. Ce rappel surveille une métrique spécifique, telle que les perte des données de validation . Si la perte cesse de diminuer pendant un nombre défini d'époches, le rappel interrompt l'entraînement. Cela empêche le suradaptation, garantissant ainsi que le modèle se généralise bien aux nouvelles données plutôt que de mémoriser les données d'entraînement.
  • Vérification du modèle : lors de longues sessions d'entraînement, les pannes matérielles peuvent être catastrophiques. Une vérification enregistre les pondérations du modèle à intervalles réguliers (par exemple, à chaque époque) ou uniquement lorsque le modèle atteint un nouveau « meilleur » score sur des métriques telles que la précision ou la précision moyenne (mAP). Cela vous garantit de toujours disposer d'une version enregistrée du modèle le plus performant.
  • Planification du taux d'apprentissage : Le taux d'apprentissage détermine l'ampleur des changements apportés au modèle en réponse à l'erreur estimée à chaque mise à jour des poids du modèle. Un rappel peut ajuster dynamiquement ce taux, en le réduisant lorsque l'apprentissage atteint un plateau afin d'aider le modèle à converger vers une solution optimale, une technique souvent appelée décroissance du taux d'apprentissage.
  • Enregistrement et visualisation : les rappels sont fréquemment utilisés pour s'intégrer à outils de suivi des expériences . Ils transmettent les métriques à des tableaux de bord tels que TensorBoard ou MLflow, permettant aux scientifiques des données de visualiser les fonctions de perte et les graphiques de performance en temps réel.

Mise en œuvre des rappels avec Ultralytics YOLO

Ultralytics prend en charge un système de rappel robuste, permettant aux utilisateurs de se connecter à des événements pendant l'entraînement de modèles tels que YOLO26. Cela est particulièrement utile pour les utilisateurs qui gèrent des flux de travail sur la Ultralytics qui ont besoin d'une logique de journalisation ou de contrôle personnalisée.

Vous trouverez ci-dessous un exemple concis illustrant comment définir et enregistrer un rappel personnalisé qui affiche un message à la fin de chaque période d'entraînement à l'aide de l' Python :

from ultralytics import YOLO


# Define a custom callback function
def on_train_epoch_end(trainer):
    """Callback function to execute at the end of each training epoch."""
    print(f"Epoch {trainer.epoch + 1} complete. Current Fitness: {trainer.fitness}")


# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")

# Register the custom callback to the model
model.add_callback("on_train_epoch_end", on_train_epoch_end)

# Train the model with the callback active
model.train(data="coco8.yaml", epochs=3)

Callbacks vs Hooks

Bien que liés, il est utile de distinguer les rappels des hooks. Dans des frameworks tels que PyTorch, les hooks sont généralement des fonctions de niveau inférieur associées à des tensor ou à des couches de réseaux neuronaux afin d'inspecter ou de modifier les gradients et les sorties pendant le passage avant ou arrière. En revanche, les rappels sont généralement des abstractions de plus haut niveau liées à la boucle d'entraînement (début, fin, traitement par lots) plutôt qu'au graphe de calcul mathématique lui-même.

Autres lectures et ressources

Pour ceux qui souhaitent approfondir leurs connaissances sur l'optimisation des workflows de formation, l'exploration du réglage des hyperparamètres est une étape logique. De plus, la compréhension de la tâches de vision par ordinateur (CV) telles que la détection d'objets détection d'objets et la segmentation d'instance fourniront un contexte expliquant pourquoi un contrôle précis de l'entraînement via des rappels est nécessaire. Pour une gestion de ces processus à l'échelle de l'entreprise , la Ultralytics propose des solutions intégrées qui automatisent bon nombre de ces comportements basés sur des rappels.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant