Callbacks

best_model_callback

用于加载和保存最好效果模型参数的回调函数。

class mindnlp.engine.callbacks.best_model_callback.BestModelCallback(save_path=None, larger_better=True, auto_load=False, save_on_exception=False)[源代码]

基类:Callback

保存具有最佳评测指标值的模型,并在训练结束时重新加载模型。最佳模型只在训练结束时加载。

参数
  • save_path (str) – 用于保存效果最好模型的参数文件路径。

  • larger_better (bool) – 评测指标值是否越大越好。默认值:是。

  • auto_load (bool) – 是否在训练结束时加载效果最好的模型参数。

  • save_on_exception (bool) – 在遇到异常时,是否保存当前的模型参数。

evaluate_end(run_context)[源代码]

在评测结束后调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

is_better_metric_value(metrics_values)[源代码]

将本次每个评测指标值和当前最好的结果进行比较。

参数

metrics_values (float) – 用于和当前最好评测指标值进行比较的结果。

train_end(run_context)[源代码]

在模型训练结束后调用,并为模型加载效果最好的参数。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

callback_manager

回调函数管理器

class mindnlp.engine.callbacks.callback_manager.CallbackManager(callbacks)[源代码]

基类:Callback

回调函数管理器

参数

callbacks (Optional[list[Callback], Callback]) – 在模型训练过程中应当执行的回调函数方法列表。默认值:无。

backward_begin(*arg)[源代码]

在每次前向过程开始前调用。

backward_end(*arg)[源代码]

在每次反向传播结束后调用。

ds_sink_begin(*arg)[源代码]

在每次数据下沉开始前调用。

ds_sink_end(*arg)[源代码]

在每次数据下沉结束后调用。

evaluate_begin(*arg)[源代码]

在模型评测开始前调用。

evaluate_end(*arg)[源代码]

在评测结束后调用。

exception(*arg)[源代码]

在模型训练或评测过程中遇到异常时调用。

fetch_data_begin(*arg)[源代码]

在每次获取一个batch或数据下沉大小的数据前调用。

fetch_data_end(*arg)[源代码]

在每次获取一个batch或数据下沉大小的数据后调用。

forward_begin(*arg)[源代码]

在每次前向过程开始前调用。

forward_end(*arg)[源代码]

在每个step结束后调用。

load_model(*arg)[源代码]

在每次加载模型参数前调用。

save_model(*arg)[源代码]

在每次保存模型参数后调用。

train_begin(*arg)[源代码]

在每次模型开始训练前调用。

train_end(*arg)[源代码]

在每次模型训练结束后调用。

train_epoch_begin(*arg)[源代码]

在每次模型训练一个epoch前调用。

train_epoch_end(*arg)[源代码]

在每次模型训练一个epoch结束后调用。

train_step_begin(*arg)[源代码]

在每次模型训练一个step前调用。

train_step_end(*arg)[源代码]

在每次模型训练一个step结束后调用。

class mindnlp.engine.callbacks.callback_manager.RunContext(engine_args)[源代码]

基类:object

提供有关模型功能的原始请求的信息。此类需要与 mindspore.train.callback.Callback 一起使用。

参数

engine_args (dict) – 保存关于模型训练或评测过程中的相关信息。

checkpoint_callback

用于保存checkpoint的回调函数。

class mindnlp.engine.callbacks.checkpoint_callback.CheckpointCallback(save_path=None, epochs=None, keep_checkpoint_max=5)[源代码]

基类:Callback

保存模型的checkpoint。在每个 epoch 结束时保存当前的 Trainer 状态,可用于恢复之前的操作。使用最近epoch继续训练示例代码。

参数
  • save_path (str) – 保存模型训练状态的路径。

  • epochs (int) – 每n个epoch存一个checkpoint。

  • keep_checkpoint_max (int) – 存checkpoint的最大数量。默认:5。

train_begin(run_context)[源代码]

训练开始时checkpoint文件保存路径。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

train_epoch_end(run_context)[源代码]

每n个epoch存一个checkpoint。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

earlystop_callback

用于早停的回调函数。

class mindnlp.engine.callbacks.earlystop_callback.EarlyStopCallback(patience=10, larger_better=True)[源代码]

基类:Callback

如果n个epoch后评测指标的值都没有提升,则停止模型训练。

参数
  • patience (int) – 评估指标没有提升的限额数量。 默认值:10。

  • larger_better (bool) – 评价指标的值是否越大越好。默认值:是。

evaluate_end(run_context)[源代码]

在评测结束后调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

is_better_metric_value(metrics_values)[源代码]

将本次每个评测指标值和当前最好的结果进行比较。

参数

metrics_values (float) – 用于和当前最好评测指标值进行比较的结果。

timer_callback

用于计时的回调函数。

class mindnlp.engine.callbacks.timer_callback.TimerCallback(print_steps=0, time_ndigit=3)[源代码]

基类:Callback

打印训练过程中的相关事件信息,如训练时长、评估时长、总时长。

参数
  • print_steps (int) – 何时打印时间信息。默认值:-1。 -1:在每个epoch结束时打印一次。 正数 n:打印一次 n 步。

  • time_ndigit (int) – 要保留的小数位数。 默认值:3。

evaluate_begin(run_context)[源代码]

在每次模型评估前调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

evaluate_end(run_context)[源代码]

在每次模型评估结束后调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

format_timer(reset=True, train_end=False)[源代码]

格式化输出。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

train_begin(run_context)[源代码]

在每次模型训练开始前调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

train_end(run_context)[源代码]

在每次模型训练结束后调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

train_epoch_begin(run_context)[源代码]

在每次模型训练一个epoch前调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

train_epoch_end(run_context)[源代码]

在每次模型训练一个epoch结束后调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

train_step_begin(run_context)[源代码]

在每次模型训练一个step前调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

train_step_end(run_context)[源代码]

在每次模型训练一个step结束后调用。

参数

run_context (RunContext) – 模型训练或评测过程中的相关信息。

class mindnlp.engine.callbacks.timer_callback.Timers[源代码]

基类:object

计数器组。

reset()[源代码]

Callbacks.