Vai al contenuto

Richiami

Richiami

Ultralytics supporta le callback come punti di ingresso in fasi strategiche delle modalità train, val, export e predict. Ogni callback accetta un Trainer, Validator, oppure Predictor a seconda del tipo di operazione. Tutte le proprietà di questi oggetti si trovano nella sezione Reference dei documenti.



Guarda: Padroneggiare Ultralytics YOLOv8 : Callback

Esempi

Restituzione di informazioni aggiuntive con Prediction

In questo esempio, vogliamo restituire il fotogramma originale con ogni oggetto risultato. Ecco come possiamo farlo

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("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

Tutti i callback

Ecco tutti i callback supportati. Vedi il codice sorgente delle callback per ulteriori dettagli.

Richiami dell'allenatore

Richiamo Descrizione
on_pretrain_routine_start Attivato all'inizio della routine di pre-allenamento
on_pretrain_routine_end Attivato alla fine della routine di preallenamento
on_train_start Si attiva quando inizia la formazione
on_train_epoch_start Attivato all'inizio di ogni periodo di addestramento
on_train_batch_start Attivato all'inizio di ogni batch di allenamento
optimizer_step Attivato durante la fase di ottimizzazione
on_before_zero_grad Attivato prima dell'azzeramento dei gradienti
on_train_batch_end Attivato alla fine di ogni lotto di allenamento
on_train_epoch_end Attivato alla fine di ogni epoch di allenamento
on_fit_epoch_end Attivato alla fine di ogni epoca di adattamento
on_model_save Si attiva quando il modello viene salvato
on_train_end Si attiva quando il processo di formazione termina
on_params_update Si attiva quando i parametri del modello vengono aggiornati
teardown Attivato quando il processo di formazione viene pulito

Callback del validatore

Richiamo Descrizione
on_val_start Si attiva quando inizia la convalida
on_val_batch_start Attivazione all'inizio di ogni lotto di convalida
on_val_batch_end Attivato alla fine di ogni lotto di convalida
on_val_end Attivato quando la convalida termina

Callback del predittore

Richiamo Descrizione
on_predict_start Si attiva quando inizia il processo di predizione
on_predict_batch_start Attivato all'inizio di ogni lotto di predizione
on_predict_postprocess_end Attivato al termine della post-elaborazione della previsione
on_predict_batch_end Attivato alla fine di ogni batch di predizione
on_predict_end Si attiva quando il processo di predizione termina

Callback dell'esportatore

Richiamo Descrizione
on_export_start Attivato all'avvio del processo di esportazione
on_export_end Si attiva quando il processo di esportazione termina


Created 2023-11-12, Updated 2024-06-18
Authors: glenn-jocher (8), RizwanMunawar (1), Laughing-q (1)

Commenti