Rückrufe
Rückrufe
Ultralytics Framework unterstützt Callbacks als Einstiegspunkte in strategischen Phasen der Modi train, val, export und predict. Jeder Callback akzeptiert eine Trainer
, Validator
, oder Predictor
Objekt, abhängig von der Art des Vorgangs. Alle Eigenschaften dieser Objekte findest du im Abschnitt "Referenz" in der Dokumentation.
Pass auf: Mastering Ultralytics YOLOv8 : Rückrufe
Beispiele
Rückgabe zusätzlicher Informationen mit Vorhersage
In diesem Beispiel wollen wir mit jedem Ergebnisobjekt das Originalbild zurückgeben. So können wir das tun
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 Rückrufe
Hier sind alle unterstützten Callbacks. Weitere Details findest du im Quellcode der Rückrufe.
Trainer-Rückrufe
Rückruf | Beschreibung |
---|---|
on_pretrain_routine_start |
Ausgelöst zu Beginn der Trainingsvorbereitung |
on_pretrain_routine_end |
Ausgelöst am Ende der Vorübungen |
on_train_start |
Ausgelöst, wenn das Training beginnt |
on_train_epoch_start |
Ausgelöst zu Beginn einer jeden Trainingsepoche |
on_train_batch_start |
Ausgelöst zu Beginn eines jeden Trainingsstapels |
optimizer_step |
Ausgelöst während des Optimierungsschritts |
on_before_zero_grad |
Ausgelöst, bevor die Gradienten auf Null gesetzt werden |
on_train_batch_end |
Ausgelöst am Ende eines jeden Trainingsstapels |
on_train_epoch_end |
Ausgelöst am Ende jeder Trainingsepoche |
on_fit_epoch_end |
Ausgelöst am Ende jeder Fit-Epoche |
on_model_save |
Wird ausgelöst, wenn das Modell gespeichert wird |
on_train_end |
Ausgelöst, wenn der Trainingsprozess endet |
on_params_update |
Ausgelöst, wenn Modellparameter aktualisiert werden |
teardown |
Wird ausgelöst, wenn der Ausbildungsprozess aufgeräumt wird |
Validator Rückrufe
Rückruf | Beschreibung |
---|---|
on_val_start |
Ausgelöst, wenn die Validierung beginnt |
on_val_batch_start |
Ausgelöst zu Beginn einer jeden Validierungscharge |
on_val_batch_end |
Ausgelöst am Ende jeder Validierungscharge |
on_val_end |
Ausgelöst, wenn die Validierung endet |
Prädikator-Rückrufe
Rückruf | Beschreibung |
---|---|
on_predict_start |
Ausgelöst, wenn der Vorhersageprozess beginnt |
on_predict_batch_start |
Ausgelöst zu Beginn jeder Vorhersagecharge |
on_predict_postprocess_end |
Ausgelöst am Ende der Nachbearbeitung der Vorhersage |
on_predict_batch_end |
Ausgelöst am Ende jeder Vorhersagecharge |
on_predict_end |
Ausgelöst, wenn der Vorhersageprozess endet |
Exporter Rückrufe
Rückruf | Beschreibung |
---|---|
on_export_start |
Wird ausgelöst, wenn der Exportvorgang beginnt |
on_export_end |
Ausgelöst, wenn der Exportvorgang endet |
Erstellt 2023-11-12, Aktualisiert 2024-05-03
Autoren: glenn-jocher (4), RizwanMunawar (1), Laughing-q (1)