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.
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 .
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.
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)
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.
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.