Shortcuts

Callback

class Callback[源代码]

回调机制的基类,包含了数个回调时机。所有的 Callback 都应该继承该类。

on_setup_parallel_model(trainer)[源代码]

Trainer 初始化中途初始化 engine 之前会被触发。

警告

注意,此时 Trainer 只能访问到 model、optimizer 等一些不依赖 并行设置的基础属性。

参数:

trainerTrainer 实例。

on_after_trainer_initialized(trainer)[源代码]

Trainer 初始化后会被触发;

参数:

trainerTrainer 实例。

on_train_begin(trainer)[源代码]

在训练开始前会被触发;

参数:

trainerTrainer 实例。

on_train_end(trainer)[源代码]

在训练完成后会被触发;

参数:

trainerTrainer 实例。

on_train_epoch_begin(trainer)[源代码]

在训练过程中的每一个 epoch 开始前会被触发;

参数:

trainerTrainer 实例。

on_train_epoch_end(trainer)[源代码]

在训练过程中的每一个 epoch 完成后会被触发。

参数:

trainerTrainer 实例。

on_train_batch_begin(trainer, batch)[源代码]

在训练一个 batch 之前触发。

参数:
  • trainerTrainer 实例;

  • batch – 当次的 batch 数据。

on_train_batch_end(trainer, loss)[源代码]

完成一个 batch 的训练(forward)、梯度回传(backward)、梯度更新(step)、 梯度置零后会触发。

参数:

trainerTrainer 实例;

on_save_model(trainer)[源代码]

当调用 Trainer.save_model() 时调用,此刻模型还未保存。

参数:

trainerTrainer 实例;

on_load_model(trainer)[源代码]

当调用 Trainer.load_model() 加载模型时调用,此刻模型还未加载。

参数:

trainerTrainer 实例;

on_save_checkpoint(trainer)[源代码]

当 Trainer 将要保存 checkpoint 的时候触发 (即调用 Trainer.save_checkpoint() 函数时),该函数用于保存当前 callback 在恢复时需要的相关数据。

参数:

trainerTrainer 实例;

on_load_checkpoint(trainer, states)[源代码]

当 Trainer 要恢复 checkpoint 的时候触发(即调用 Trainer.load_checkpoint() 函数时)。

参数:
  • trainerTrainer 实例;

  • states – callback 状态。

on_evaluate_begin(trainer)[源代码]

在将要进行 evaluate 时调用。如果 CollieConfigeval_per_n_steps 不为 0,则会在 on_train_batch_end() 后触发; 如果 eval_per_n_epochs 不为 0,则会在 on_train_epoch_end() 后 触发。

参数:

trainerTrainer 实例;

on_evaluate_end(trainer, results)[源代码]

结束 evaluate 时调用,并把 evaluate 的结果传入。

参数:
  • trainerTrainer 实例;

  • results – 评测的结果,通常是个 dict

property callback_name

callback 的名称,我们会使用该名称从 checkpoint 中读取的相应的 state 并传递给 on_load_checkpoint() 函数。

返回:

用于区分该 callback 实例的名称;