Skip to content

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, Validatorou 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)

Commentaires