Chamadas de retorno
Chamadas de retorno
Ultralytics suporta callbacks como pontos de entrada em fases estratégicas dos modos train, val, export e predict. Cada retorno de chamada aceita um Trainer
, Validator
, ou Predictor
dependendo do tipo de operação. Todas as propriedades destes objectos podem ser encontradas na secção Referência da documentação.
Observa: Dominar Ultralytics YOLOv8 : Callbacks
Exemplos
Devolver informações adicionais com a Previsão
Neste exemplo, queremos devolver a moldura original com cada objeto de resultado. Vê como podemos fazer isso
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
Todas as chamadas de retorno
Aqui estão todas as callbacks suportadas. Vê o código fonte das callbacks para mais detalhes.
Chamadas do formador
Chamada de retorno | Descrição |
---|---|
on_pretrain_routine_start |
Acionado no início da rotina de pré-treino |
on_pretrain_routine_end |
Acionado no final da rotina de pré-treino |
on_train_start |
Acionado quando a formação começa |
on_train_epoch_start |
Acionado no início de cada época de treino |
on_train_batch_start |
Acionado no início de cada lote de treino |
optimizer_step |
Acionado durante a etapa do otimizador |
on_before_zero_grad |
Acionado antes de os gradientes serem colocados a zero |
on_train_batch_end |
Acionado no final de cada lote de treino |
on_train_epoch_end |
Acionado no final de cada época de treino |
on_fit_epoch_end |
Acionado no final de cada época de ajuste |
on_model_save |
Acionado quando o modelo é guardado |
on_train_end |
Acionado quando o processo de formação termina |
on_params_update |
Acionado quando os parâmetros do modelo são actualizados |
teardown |
Acionado quando o processo de formação está a ser limpo |
Repetições do validador
Chamada de retorno | Descrição |
---|---|
on_val_start |
Acionado quando a validação começa |
on_val_batch_start |
Acionado no início de cada lote de validação |
on_val_batch_end |
Acionado no final de cada lote de validação |
on_val_end |
Acionado quando a validação termina |
Callbacks do Predictor
Chamada de retorno | Descrição |
---|---|
on_predict_start |
Acionado quando o processo de previsão começa |
on_predict_batch_start |
Acionado no início de cada lote de previsão |
on_predict_postprocess_end |
Acionado no final do pós-processamento de previsões |
on_predict_batch_end |
Acionado no final de cada lote de previsão |
on_predict_end |
Acionado quando o processo de previsão termina |
Chamadas de retorno do exportador
Chamada de retorno | Descrição |
---|---|
on_export_start |
Acionado quando o processo de exportação é iniciado |
on_export_end |
Acionado quando o processo de exportação termina |
Criado em 2023-11-12, Atualizado em 2024-05-03
Autores: glenn-jocher (4), RizwanMunawar (1), Laughing-q (1)