Terugbellen
Terugbellen
Ultralytics Het framework ondersteunt callbacks als ingangspunten in strategische stadia van de train-, val-, export- en predictmodi. Elke callback accepteert een Trainer
, Validator
of 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)