Salta para o conteúdo

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)

Comentários