155 lines
6.6 KiB
ReStructuredText
155 lines
6.6 KiB
ReStructuredText
mindspore.train.Callback
|
||
========================
|
||
|
||
.. py:class:: mindspore.train.Callback
|
||
|
||
用于构建Callback函数的基类。Callback函数是一个上下文管理器,在运行模型时被调用。可以使用此机制进行一些自定义操作。
|
||
|
||
Callback类的每个方法对应训练或推理过程的不同阶段,这些方法有相同的入参 `run_context`,用于保存训练或推理过程中模型的相关信息。定义Callback子类或自定义Callback时,请根据需要重写名称前缀为"on_train"或"on_eval"的方法,否则自定义的Callback在 `model.fit` 中使用时会产生错误。
|
||
|
||
自定义Callback场景下,在类方法中通过 `RunContext.original_args()` 方法可以获取模型训练或推理过程中已有的上下文信息,此信息为一个存储了已有属性的字典型变量。用户也可以在此信息中添加其他的自定义属性。此外,通过调用 `request_stop` 方法来停止训练过程。
|
||
|
||
.. py:method:: begin(run_context)
|
||
|
||
在网络执行之前被调用一次。与 `on_train_begin` 和 `on_eval_begin` 方法具有兼容性。
|
||
|
||
.. note::
|
||
`begin` 接口将在后续版本中废弃,请使用 `on_train_begin` 和 `on_eval_begin`。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: end(run_context)
|
||
|
||
在网络执行之后被调用一次。与 `on_train_end` 和 `on_eval_end` 方法具有兼容性。
|
||
|
||
.. note::
|
||
`end` 接口将在后续版本中废弃,请使用 `on_train_end` 和 `on_eval_end`。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: epoch_begin(run_context)
|
||
|
||
在每个epoch开始之前被调用。与 `on_train_epoch_begin` 和 `on_eval_epoch_begin` 方法具有兼容性。
|
||
|
||
.. note::
|
||
`epoch_begin` 接口将在后续版本中废弃,请使用 `on_train_epoch_begin` 和 `on_eval_epoch_begin`。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: epoch_end(run_context)
|
||
|
||
在每个epoch结束后被调用。与 `on_train_epoch_end` 和 `on_eval_epoch_end` 方法具有兼容性。
|
||
|
||
.. note::
|
||
`epoch_end` 接口将在后续版本中废弃,请使用 `on_train_epoch_end` 和 `on_eval_epoch_end`。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_eval_begin(run_context)
|
||
|
||
在网络执行推理之前被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_eval_end(run_context)
|
||
|
||
在网络执行推理之后被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_eval_epoch_begin(run_context)
|
||
|
||
在推理的epoch开始之前被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_eval_epoch_end(run_context)
|
||
|
||
在推理的epoch结束后被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_eval_step_begin(run_context)
|
||
|
||
在推理的每个step开始之前被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_eval_step_end(run_context)
|
||
|
||
在推理的每个step完成后被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_train_begin(run_context)
|
||
|
||
在网络执行训练之前被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_train_end(run_context)
|
||
|
||
在网络执行训练结束后被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_train_epoch_begin(run_context)
|
||
|
||
在训练的每个epoch开始之前被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_train_epoch_end(run_context)
|
||
|
||
在训练的每个epoch结束后被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_train_step_begin(run_context)
|
||
|
||
在训练的每个step开始之前被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: on_train_step_end(run_context)
|
||
|
||
在训练的每个step完成后被调用。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: step_begin(run_context)
|
||
|
||
在每个step开始之前被调用。与 `on_train_step_begin` 和 `on_eval_step_begin` 方法具有兼容性。
|
||
|
||
.. note::
|
||
`step_begin` 接口将在后续版本中废弃,请使用 `on_train_step_begin` 和 `on_eval_step_begin`。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|
||
|
||
.. py:method:: step_end(run_context)
|
||
|
||
在每个step完成后被调用。与 `on_train_step_end` 和 `on_eval_step_end` 方法具有兼容性。
|
||
|
||
.. note::
|
||
`step_end` 接口将在后续版本中废弃,请使用 `on_train_step_end` 和 `on_eval_step_end`。
|
||
|
||
参数:
|
||
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`。
|