mindspore/docs/api/api_python/train/mindspore.train.ConvertMode...

37 lines
2.4 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.train.ConvertModelUtils
==================================
.. py:class:: mindspore.train.ConvertModelUtils
该接口用于增加计算图提升二阶算法THOR运行时的性能。
.. py:method:: convert_to_thor_model(model, network, loss_fn=None, optimizer=None, metrics=None, amp_level='O0', loss_scale_manager=None, keep_batchnorm_fp32=False)
:staticmethod:
该接口用于增加计算图提升二阶算法THOR运行时的性能。
参数:
- **model** (Object) - 用于训练的高级API。
- **network** (Cell) - 训练网络。
- **loss_fn** (Cell) - 目标函数。默认值None。
- **optimizer** (Cell) - 用于更新权重的优化器。默认值None。
- **metrics** (Union[dict, set]) - 在训练期间由模型评估的词典或一组度量。例如:{'accuracy', 'recall'}。默认值None。
- **amp_level** (str) - 混合精度训练的级别。支持["O0", "O2", "O3", "auto"]。默认值:"O0"。
- **O0** - 不改变。
- **O2** - 将网络转换为float16使用动态loss scale保持BN在float32中运行。
- **O3** - 将网络强制转换为float16并使用附加属性 `keep_batchnorm_fp32=False`
- **auto** - 在不同设备中将级别设置为建议级别。GPU上建议使用O2Ascend上建议使用O3。建议级别基于专家经验不能总是一概而论。对于特殊网络用户需要指定对应的混合精度训练级别。
- **loss_scale_manager** (Union[None, LossScaleManager]) - 如果为None则不会按比例缩放loss。否则需设置LossScaleManager且优化器的入参loss_scale不为None。这是一个关键参数。例如使用 `loss_scale_manager=None` 设置值。
- **keep_batchnorm_fp32** (bool) - 保持BN在 `float32` 中运行。如果为True则将覆盖之前的级别设置。默认值False。
返回:
model (Object)用于训练的高级API。
样例:
.. note::
运行以下样例之前需自定义网络Net和数据集准备函数create_dataset。详见 `网络构建 <https://www.mindspore.cn/tutorials/zh-CN/master/beginner/model.html>`_`数据集 Dataset <https://www.mindspore.cn/tutorials/zh-CN/master/beginner/dataset.html>`_