Callback¶
- class Callback[源代码]¶
回调机制的基类,包含了数个回调时机。所有的
Callback都应该继承该类。- on_setup_parallel_model(trainer)[源代码]¶
在
Trainer初始化中途初始化 engine 之前会被触发。警告
注意,此时
Trainer只能访问到 model、optimizer 等一些不依赖 并行设置的基础属性。- 参数:
trainer –
Trainer实例。
- on_train_batch_begin(trainer, batch)[源代码]¶
在训练一个 batch 之前触发。
- 参数:
trainer –
Trainer实例;batch – 当次的 batch 数据。
- on_train_batch_end(trainer, loss)[源代码]¶
完成一个 batch 的训练(forward)、梯度回传(backward)、梯度更新(step)、 梯度置零后会触发。
- 参数:
trainer –
Trainer实例;
- on_save_model(trainer)[源代码]¶
当调用
Trainer.save_model()时调用,此刻模型还未保存。- 参数:
trainer –
Trainer实例;
- on_save_checkpoint(trainer)[源代码]¶
当 Trainer 将要保存 checkpoint 的时候触发 (即调用
Trainer.save_checkpoint()函数时),该函数用于保存当前 callback 在恢复时需要的相关数据。- 参数:
trainer –
Trainer实例;
- on_load_checkpoint(trainer, states)[源代码]¶
当 Trainer 要恢复 checkpoint 的时候触发(即调用
Trainer.load_checkpoint()函数时)。- 参数:
trainer –
Trainer实例;states – callback 状态。
- on_evaluate_begin(trainer)[源代码]¶
在将要进行
evaluate时调用。如果CollieConfig的eval_per_n_steps不为 0,则会在on_train_batch_end()后触发; 如果eval_per_n_epochs不为 0,则会在on_train_epoch_end()后 触发。- 参数:
trainer –
Trainer实例;
- on_evaluate_end(trainer, results)[源代码]¶
结束 evaluate 时调用,并把 evaluate 的结果传入。
- 参数:
trainer –
Trainer实例;results – 评测的结果,通常是个
dict;
- property callback_name¶
callback的名称,我们会使用该名称从checkpoint中读取的相应的state并传递给on_load_checkpoint()函数。- 返回:
用于区分该
callback实例的名称;