Callbacks
Callbacks
Ultralytics Framework hỗ trợ callback làm điểm vào trong các giai đoạn chiến lược của chế độ Train, Val, Export và Predict. Mỗi callback chấp nhận một Trainer
, Validator
hoặc Predictor
đối tượng tùy thuộc vào loại hoạt động. Tất cả các thuộc tính của các đối tượng này có thể được tìm thấy trong phần Tham khảo của tài liệu.
Xem: Mastering Ultralytics YOLOv8:Callbacks
Ví dụ
Trả về thông tin bổ sung bằng Dự đoán
Trong ví dụ này, chúng ta muốn trả về khung ban đầu với mỗi đối tượng kết quả. Đây là cách chúng ta có thể làm điều đó
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
Tất cả các callback
Dưới đây là tất cả các callback được hỗ trợ. Xem mã nguồn callbacks để biết thêm chi tiết.
Gọi lại huấn luyện viên
Gọi lại | Sự miêu tả |
---|---|
on_pretrain_routine_start |
Được kích hoạt khi bắt đầu thói quen trước khi đào tạo |
on_pretrain_routine_end |
Được kích hoạt vào cuối thói quen trước khi đào tạo |
on_train_start |
Được kích hoạt khi quá trình đào tạo bắt đầu |
on_train_epoch_start |
Được kích hoạt vào đầu mỗi kỷ nguyên đào tạo |
on_train_batch_start |
Được kích hoạt khi bắt đầu mỗi đợt đào tạo |
optimizer_step |
Được kích hoạt trong bước tối ưu hóa |
on_before_zero_grad |
Được kích hoạt trước khi gradient bằng không |
on_train_batch_end |
Được kích hoạt vào cuối mỗi đợt đào tạo |
on_train_epoch_end |
Được kích hoạt vào cuối mỗi kỷ nguyên đào tạo |
on_fit_epoch_end |
Được kích hoạt vào cuối mỗi kỷ nguyên phù hợp |
on_model_save |
Được kích hoạt khi mô hình được lưu |
on_train_end |
Được kích hoạt khi quá trình đào tạo kết thúc |
on_params_update |
Được kích hoạt khi các tham số mô hình được cập nhật |
teardown |
Được kích hoạt khi quá trình đào tạo đang được dọn dẹp |
Callback trình xác thực
Gọi lại | Sự miêu tả |
---|---|
on_val_start |
Được kích hoạt khi quá trình xác thực bắt đầu |
on_val_batch_start |
Được kích hoạt khi bắt đầu mỗi lô xác thực |
on_val_batch_end |
Được kích hoạt vào cuối mỗi lô xác thực |
on_val_end |
Được kích hoạt khi quá trình xác thực kết thúc |
Callback dự đoán
Gọi lại | Sự miêu tả |
---|---|
on_predict_start |
Được kích hoạt khi quá trình dự đoán bắt đầu |
on_predict_batch_start |
Được kích hoạt khi bắt đầu mỗi đợt dự đoán |
on_predict_postprocess_end |
Được kích hoạt khi kết thúc quá trình xử lý hậu kỳ dự đoán |
on_predict_batch_end |
Được kích hoạt vào cuối mỗi đợt dự đoán |
on_predict_end |
Được kích hoạt khi quá trình dự đoán kết thúc |
Callback của nhà xuất khẩu
Gọi lại | Sự miêu tả |
---|---|
on_export_start |
Được kích hoạt khi quá trình xuất bắt đầu |
on_export_end |
Được kích hoạt khi quá trình xuất kết thúc |