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