Overslaan naar inhoud

Terugbellen

Terugbellen

Ultralytics Het framework ondersteunt callbacks als ingangspunten in strategische stadia van de train-, val-, export- en predictmodi. Elke callback accepteert een Trainer, Validatorof Predictor object afhankelijk van het type operatie. Alle eigenschappen van deze objecten kunnen worden gevonden in de Referentie sectie van de docs.



Kijken: Ultralytics YOLOv8 onder de knie krijgen: Callbacks

Voorbeelden

Extra informatie teruggeven met voorspelling

In dit voorbeeld willen we bij elk resultaatobject het originele frame teruggeven. Hier is hoe we dat kunnen doen

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

Alle callbacks

Hier zijn alle ondersteunde callbacks. Zie de broncode van callbacks voor meer details.

Trainer terugbellen

Terugbellen Beschrijving
on_pretrain_routine_start Wordt geactiveerd aan het begin van de pre-trainingsroutine
on_pretrain_routine_end Wordt geactiveerd aan het einde van de pre-trainingsroutine
on_train_start Wordt geactiveerd wanneer de training begint
on_train_epoch_start Getriggerd aan het begin van elk trainingsepoch
on_train_batch_start Getriggerd aan het begin van elke trainingsbatch
optimizer_step Getriggerd tijdens de optimalisatiestap
on_before_zero_grad Getriggerd voordat hellingen op nul worden gezet
on_train_batch_end Getriggerd aan het einde van elke trainingsbatch
on_train_epoch_end Getriggerd aan het einde van elk trainingsepoch
on_fit_epoch_end Getriggerd aan het einde van elke fit-epoch
on_model_save Wordt geactiveerd wanneer het model wordt opgeslagen
on_train_end Wordt geactiveerd wanneer het trainingsproces eindigt
on_params_update Wordt geactiveerd wanneer modelparameters worden bijgewerkt
teardown Wordt geactiveerd wanneer het trainingsproces wordt opgeschoond

Validator callbacks

Terugbellen Beschrijving
on_val_start Wordt geactiveerd wanneer de validatie begint
on_val_batch_start Getriggerd aan het begin van elke validatiebatch
on_val_batch_end Getriggerd aan het einde van elke validatiebatch
on_val_end Wordt geactiveerd wanneer de validatie eindigt

Voorspellende Callbacks

Terugbellen Beschrijving
on_predict_start Wordt geactiveerd wanneer het voorspellingsproces begint
on_predict_batch_start Getriggerd aan het begin van elke voorspellingsbatch
on_predict_postprocess_end Getriggerd aan het einde van de voorspellingsnabewerking
on_predict_batch_end Getriggerd aan het einde van elke voorspellingsbatch
on_predict_end Wordt geactiveerd wanneer het voorspellingsproces eindigt

Exporteur Callbacks

Terugbellen Beschrijving
on_export_start Wordt geactiveerd wanneer het exportproces start
on_export_end Wordt geactiveerd wanneer het exportproces eindigt


Aangemaakt 2023-11-12, Bijgewerkt 2024-05-03
Auteurs: glenn-jocher (4), RizwanMunawar (1), Laughing-q (1)

Reacties