Rappels
Rappels
Ultralytics prend en charge les rappels comme points d'entrée dans les étapes stratégiques des modes train, val, export et predict. Chaque rappel accepte un Trainer
, Validator
ou Predictor
en fonction du type d'opération. Toutes les propriétés de ces objets se trouvent dans la section Référence de la documentation.
Regarde : Mastering Ultralytics YOLOv8 : Rappels
Exemples
Renvoyer des informations supplémentaires avec la prédiction
Dans cet exemple, nous voulons renvoyer l'image originale avec chaque objet de résultat. Voici comment procéder
from ultralytics import YOLO
def on_predict_batch_end(predictor):
"""Handle prediction batch end by combining results with corresponding frames; modifies predictor results."""
_, image, _, _ = predictor.batch
# Ensure that image is a list
image = image if isinstance(image, list) else [image]
# Combine the prediction results with the corresponding frames
predictor.results = zip(predictor.results, image)
# Create a YOLO model instance
model = YOLO(f'yolov8n.pt')
# Add the custom callback to the model
model.add_callback("on_predict_batch_end", on_predict_batch_end)
# Iterate through the results and frames
for (result, frame) in model.predict(): # or model.track()
pass
Tous les rappels
Voici tous les rappels pris en charge. Voir le code source des rappels pour plus de détails.
Rappels de formateurs
Rappel | Description |
---|---|
on_pretrain_routine_start |
Déclenché au début de la routine de pré-entraînement |
on_pretrain_routine_end |
Déclenché à la fin de la routine de pré-entraînement |
on_train_start |
Déclenché au début de la formation |
on_train_epoch_start |
Déclenché au début de chaque période d'apprentissage. |
on_train_batch_start |
Déclenché au début de chaque lot de formation |
optimizer_step |
Déclenché pendant l'étape de l'optimiseur |
on_before_zero_grad |
Déclenché avant que les gradients ne soient remis à zéro. |
on_train_batch_end |
Déclenché à la fin de chaque lot de formation |
on_train_epoch_end |
Déclenché à la fin de chaque période d'apprentissage. |
on_fit_epoch_end |
Déclenché à la fin de chaque période d'ajustement |
on_model_save |
Déclenché lorsque le modèle est sauvegardé |
on_train_end |
Déclenché à la fin du processus de formation |
on_params_update |
Déclenché lorsque les paramètres du modèle sont mis à jour |
teardown |
Déclenché lorsque le processus de formation est en train d'être nettoyé. |
Rappels du validateur
Rappel | Description |
---|---|
on_val_start |
Déclenché lorsque la validation commence |
on_val_batch_start |
Déclenché au début de chaque lot de validation. |
on_val_batch_end |
Déclenché à la fin de chaque lot de validation. |
on_val_end |
Déclenché à la fin de la validation |
Rappels de prédicteurs
Rappel | Description |
---|---|
on_predict_start |
Déclenché lorsque le processus de prédiction commence. |
on_predict_batch_start |
Déclenché au début de chaque lot de prédictions |
on_predict_postprocess_end |
Déclenché à la fin du post-traitement de la prédiction. |
on_predict_batch_end |
Déclenché à la fin de chaque lot de prédictions |
on_predict_end |
Déclenché lorsque le processus de prédiction se termine. |
Rappels de l'exportateur
Rappel | Description |
---|---|
on_export_start |
Déclenché lorsque le processus d'exportation commence |
on_export_end |
Déclenché lorsque le processus d'exportation se termine |
Créé le 2023-11-12, Mis à jour le 2024-05-03
Auteurs : glenn-jocher (4), RizwanMunawar (1), Laughing-q (1)