Bỏ để qua phần nội dung

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, Validatorhoặ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


Đã tạo 2023-11-12, Cập nhật 2024-05-03
Tác giả: glenn-jocher (4), RizwanMunawar (1), Laughing-q (1)

Ý kiến