mindspore/docs/api/api_python/train/mindspore.train.Callback.rst

141 lines
6.0 KiB
ReStructuredText
Raw Permalink Normal View History

mindspore.train.Callback
========================
2022-05-10 11:59:45 +08:00
.. py:class:: mindspore.train.Callback
2021-12-02 09:29:36 +08:00
2021-12-28 20:07:42 +08:00
用于构建Callback函数的基类。Callback函数是一个上下文管理器在运行模型时被调用。
可以使用此机制进行一些自定义操作。
2021-12-02 09:29:36 +08:00
2022-07-19 17:15:12 +08:00
Callback类的每个方法对应了训练或推理过程的不同阶段这些方法有相同的入参 `run_context`用于保存训练或推理过程中模型的相关信息。定义Callback子类或自定义Callback时请根据需要重写名称前缀为"on_train"或"on_eval"的方法否则自定义的Callback在 `model.fit` 中使用时会产生错误。
2022-05-13 17:23:34 +08:00
自定义Callback场景下在类方法中通过 `RunContext.original_args()` 方法可以获取模型训练或推理过程中已有
的上下文信息,此信息为一个存储了已有属性的字典型变量。用户也可以在此信息中添加其他的自定义属性。此外,
2022-05-13 17:23:34 +08:00
通过调用 `request_stop` 方法来停止训练过程。有关自定义Callback的具体用法请查看
`Callback <https://www.mindspore.cn/tutorials/experts/zh-CN/master/debug/custom_debug.html>`_
2021-12-02 09:29:36 +08:00
.. py:method:: begin(run_context)
2022-05-18 11:11:03 +08:00
在网络执行之前被调用一次。与 `on_train_begin``on_eval_begin` 方法具有兼容性。
2021-12-02 09:29:36 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2021-12-04 20:36:47 +08:00
2021-12-02 09:29:36 +08:00
.. py:method:: end(run_context)
2022-05-18 11:11:03 +08:00
网络执行后被调用一次。与 `on_train_end``on_eval_end` 方法具有兼容性。
2021-12-02 09:29:36 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2021-12-04 20:36:47 +08:00
2021-12-02 09:29:36 +08:00
.. py:method:: epoch_begin(run_context)
2022-05-18 11:11:03 +08:00
在每个epoch开始之前被调用。与 `on_train_epoch_begin``on_eval_epoch_begin` 方法具有兼容性。
2021-12-02 09:29:36 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2021-12-04 20:36:47 +08:00
2021-12-02 09:29:36 +08:00
.. py:method:: epoch_end(run_context)
2022-05-18 11:11:03 +08:00
在每个epoch结束后被调用。与 `on_train_epoch_end``on_eval_epoch_end` 方法具有兼容性。
2021-12-02 09:29:36 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2021-12-04 20:36:47 +08:00
.. py:method:: on_eval_begin(run_context)
2021-12-02 09:29:36 +08:00
在网络执行推理之前调用。
2021-12-02 09:29:36 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2021-12-04 20:36:47 +08:00
.. py:method:: on_eval_end(run_context)
2021-12-02 09:29:36 +08:00
网络执行推理之后调用。
2021-12-02 09:29:36 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_eval_epoch_begin(run_context)
2022-05-18 11:11:03 +08:00
在推理的epoch开始之前被调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_eval_epoch_end(run_context)
2022-05-18 11:11:03 +08:00
在推理的epoch结束后被调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_eval_step_begin(run_context)
2022-05-18 11:11:03 +08:00
在推理的每个step开始之前被调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_eval_step_end(run_context)
2022-05-18 11:11:03 +08:00
在推理的每个step完成后被调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_train_begin(run_context)
2022-05-18 11:11:03 +08:00
在网络执行训练之前调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_train_end(run_context)
2022-05-18 11:11:03 +08:00
网络训练执行结束时调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_train_epoch_begin(run_context)
2022-05-18 11:11:03 +08:00
在训练的每个epoch开始之前被调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_train_epoch_end(run_context)
2022-05-18 11:11:03 +08:00
在训练的每个epoch结束后被调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_train_step_begin(run_context)
2022-05-18 11:11:03 +08:00
在训练的每个step开始之前被调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: on_train_step_end(run_context)
2022-05-18 11:11:03 +08:00
在训练的每个step完成后被调用。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: step_begin(run_context)
2022-05-18 11:11:03 +08:00
在每个step开始之前被调用。与 `on_train_step_begin``on_eval_step_begin` 方法具有兼容性。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`
2022-05-18 11:11:03 +08:00
.. py:method:: step_end(run_context)
2022-05-18 11:11:03 +08:00
在每个step完成后被调用。与 `on_train_step_end``on_eval_step_end` 方法具有兼容性。
2022-05-18 11:11:03 +08:00
2022-07-19 17:15:12 +08:00
参数:
2022-10-14 22:50:18 +08:00
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.train.RunContext`