コールバック
コールバック
Ultralytics フレームワークは、train、val、export、predictモードの戦略的な段階でのエントリーポイントとしてコールバックをサポートしている。各コールバックは Trainer
, Validator
あるいは Predictor
オブジェクトのすべてのプロパティは、ド キュメントのReferenceセクションに記載されている。これらのオブジェクトのすべてのプロパティは、docsのReferenceセクションにあります。
見るんだ: MasteringUltralytics YOLOv8 : コールバック
例
予測で追加情報を返す
この例では、各結果オブジェクトで元のフレームを返したい。その方法は以下の通りだ。
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
すべてのコールバック
以下はサポートされているすべてのコールバックです。詳細はコールバックのソースコードを参照してください。
トレーナー・コールバック
コールバック | 説明 |
---|---|
on_pretrain_routine_start |
プレトレーニング・ルーティンの開始時にトリガーされる |
on_pretrain_routine_end |
プレトレーニング・ルーティンの終了時にトリガーされる |
on_train_start |
トレーニング開始時に発動 |
on_train_epoch_start |
各トレーニングエポックの開始時にトリガーされる。 |
on_train_batch_start |
各トレーニングバッチの開始時にトリガーされる。 |
optimizer_step |
オプティマイザー・ステップ中にトリガーされる |
on_before_zero_grad |
勾配がゼロになる前にトリガーされる |
on_train_batch_end |
各トレーニングバッチの終了時にトリガーされる。 |
on_train_epoch_end |
各トレーニングエポックの終了時にトリガーされる |
on_fit_epoch_end |
各フィットエポックの終了時にトリガーされる |
on_model_save |
モデルの保存時にトリガーされる |
on_train_end |
トレーニング終了時に発動 |
on_params_update |
モデルのパラメータが更新されたときにトリガーされる |
teardown |
トレーニングプロセスのクリーンアップ時にトリガーされる |
バリデータのコールバック
コールバック | 説明 |
---|---|
on_val_start |
検証開始時にトリガーされる |
on_val_batch_start |
各検証バッチの開始時にトリガーされる。 |
on_val_batch_end |
各検証バッチの終了時にトリガーされる。 |
on_val_end |
検証終了時に発動 |
予測コールバック
コールバック | 説明 |
---|---|
on_predict_start |
予測プロセス開始時にトリガーされる |
on_predict_batch_start |
各予測バッチの開始時にトリガーされる |
on_predict_postprocess_end |
予測後処理の終了時にトリガーされる |
on_predict_batch_end |
各予測バッチの終了時にトリガーされる |
on_predict_end |
予測プロセス終了時にトリガーされる |
エクスポート・コールバック
コールバック | 説明 |
---|---|
on_export_start |
輸出プロセス開始時にトリガーされる |
on_export_end |
輸出プロセス終了時にトリガーされる |