modify the format of API

This commit is contained in:
zhangyi 2022-07-19 17:15:12 +08:00
parent c9937a553f
commit bddd31dd5b
19 changed files with 248 additions and 339 deletions

View File

@ -18,44 +18,38 @@ mindspore.COOTensor
.. note::
这是一个实验特性在未来可能会发生API的变化。目前COOTensor中相同索引的值不会进行合并。
**参数:**
参数:
- **indices** (Tensor) - 形状为 `[N, ndims]` 的二维整数张量其中N和ndims分别表示稀疏张量中 `values` 的数量和COOTensor维度的数量。目前 `ndims` 只能为2。请确保indices的值在所给shape范围内。
- **values** (Tensor) - 形状为 `[N]` 的一维张量,用来给 `indices` 中的每个元素提供数值。
- **shape** (tuple(int)) - 形状为ndims的整数元组用来指定稀疏矩阵的稠密形状。
- **coo_tensor** (COOTensor) - COOTensor对象用来初始化新的COOTensor。
- **indices** (Tensor) - 形状为 `[N, ndims]` 的二维整数张量其中N和ndims分别表示稀疏张量中 `values` 的数量和COOTensor维度的数量。目前 `ndims` 只能为2。请确保indices的值在所给shape范围内。
- **values** (Tensor) - 形状为 `[N]` 的一维张量,用来给 `indices` 中的每个元素提供数值。
- **shape** (tuple(int)) - 形状为ndims的整数元组用来指定稀疏矩阵的稠密形状。
- **coo_tensor** (COOTensor) - COOTensor对象用来初始化新的COOTensor。
**返回:**
COOTensor`indices``values``shape` 组成。
返回:
COOTensor`indices``values``shape` 组成。
.. py:method:: abs()
对所有非零元素取绝对值并返回新的COOTensor。
**返回:**
COOTensor。
返回:
COOTensor。
.. py:method:: astype(dtype)
返回指定数据类型的COOTensor。
**参数:**
参数:
- **dtype** (Union[`mindspore.dtype` , `numpy.dtype` , str]) - 指定数据类型。
- **dtype** (Union[`mindspore.dtype` , `numpy.dtype` , str]) - 指定数据类型。
**返回:**
COOTensor。
返回:
COOTensor。
.. py:method:: coalesce()
合并COOTensor中相同索引的值。
**返回:**
COOTensor。
返回:
COOTensor。
.. py:method:: dtype
:property:
@ -94,25 +88,22 @@ mindspore.COOTensor
.. note::
如果运行后端是CPU那么仅支持在安装了LLVM12.0.1的机器运行。
**返回:**
CSRTensor。
返回:
CSRTensor。
.. py:method:: to_dense()
将COOTensor转换为稠密Tensor。
**返回:**
Tensor。
返回:
Tensor。
.. py:method:: to_tuple()
将COOTensor的索引非零元素以及形状信息作为tuple返回。
**返回:**
tuple(Tensor, Tensor, tuple(int))
返回:
tuple(Tensor, Tensor, tuple(int))。
.. py:method:: values
:property:

View File

@ -18,37 +18,32 @@ mindspore.CSRTensor
这是一个实验特性在未来可能会发生API的变化。
如果values或indices的长度超出了indptr所指定的取值范围超出部分的行为将没有定义。
**参数:**
参数:
- **indptr** (Tensor) - 形状为 `[M]` 的一维整数张量其中M等于 `shape[0] + 1` , 表示每行非零元素的在 `values` 中存储的起止位置。默认值None。支持的数据类型为 `int16` `int32``int64`
- **indices** (Tensor) - 形状为 `[N]` 的一维整数张量其中N等于非零元素数量表示每个元素的列索引值。默认值None。支持的数据类型为 `int16` `int32``int64`
- **values** (Tensor) - 张量values的0维长度必须与indices的0维长度相等(values.shape[0] == indices.shape[0])。values用来表示索引对应的数值。默认值None。
- **shape** (tuple(int)) - 形状为ndims的整数元组用来指定稀疏矩阵的稠密形状。`shape[0]` 表示行数,因此必须和 `M - 1` 值相等。默认值None。
- **csr_tensor** (CSRTensor) - CSRTensor对象用来初始化新的CSRTensor。values的特征维度需要和csr_tensor的特征维度匹配(values.shape[1:] == csr_tensor.shape[2:])。默认值None。
- **indptr** (Tensor) - 形状为 `[M]` 的一维整数张量其中M等于 `shape[0] + 1` , 表示每行非零元素的在 `values` 中存储的起止位置。默认值None。支持的数据类型为 `int16` `int32``int64`
- **indices** (Tensor) - 形状为 `[N]` 的一维整数张量其中N等于非零元素数量表示每个元素的列索引值。默认值None。支持的数据类型为 `int16` `int32``int64`
- **values** (Tensor) - 张量values的0维长度必须与indices的0维长度相等(values.shape[0] == indices.shape[0])。values用来表示索引对应的数值。默认值None。
- **shape** (tuple(int)) - 形状为ndims的整数元组用来指定稀疏矩阵的稠密形状。`shape[0]` 表示行数,因此必须和 `M - 1` 值相等。默认值None。
- **csr_tensor** (CSRTensor) - CSRTensor对象用来初始化新的CSRTensor。values的特征维度需要和csr_tensor的特征维度匹配(values.shape[1:] == csr_tensor.shape[2:])。默认值None。
**输出:**
CSRTensor稠密形状取决于传入的 `shape` ,数据类型由 `values` 决定。
输出:
CSRTensor稠密形状取决于传入的 `shape` ,数据类型由 `values` 决定。
.. py:method:: abs()
对所有非零元素取绝对值并返回新的CSRTensor。
**返回:**
CSRTensor。
返回:
CSRTensor。
.. py:method:: astype(dtype)
返回指定数据类型的CSRTensor。
**参数:**
参数:
- **dtype** (Union[`mindspore.dtype` , `numpy.dtype` , str]) - 指定数据类型。
- **dtype** (Union[`mindspore.dtype` , `numpy.dtype` , str]) - 指定数据类型。
**返回:**
CSRTensor。
返回:
CSRTensor。
.. py:method:: dtype
:property:
@ -78,13 +73,11 @@ mindspore.CSRTensor
.. note::
如果运行后端是CPU那么仅支持在安装了LLVM12.0.1的机器运行。
**参数:**
参数:
- **dense_vector** (Tensor) - 形状为 `[N1]` 的二维张量其中N等于CSRTensor的列数。
- **dense_vector** (Tensor) - 形状为 `[N1]` 的二维张量其中N等于CSRTensor的列数。
**返回:**
Tensor。
返回:
Tensor。
.. py:method:: mm(dense_matrix)
@ -94,13 +87,11 @@ mindspore.CSRTensor
.. note::
如果运行后端是CPU那么仅支持在安装了LLVM12.0.1的机器运行。
**参数:**
参数:
- **dense_matrix** (Tensor) - 形状为 `[NK]` 的二维矩阵其中N等于CSRTensor的列数。
- **dense_matrix** (Tensor) - 形状为 `[NK]` 的二维矩阵其中N等于CSRTensor的列数。
**返回:**
Tensor。
返回:
Tensor。
.. py:method:: ndim
:property:
@ -124,13 +115,11 @@ mindspore.CSRTensor
.. note::
如果运行后端是CPU那么仅支持在安装了LLVM12.0.1的机器运行。
**参数:**
参数:
- **axis** (int) - 求和轴。
- **axis** (int) - 求和轴。
**返回:**
Tensor。
返回:
Tensor。
.. py:method:: to_coo()
@ -139,25 +128,22 @@ mindspore.CSRTensor
.. note::
如果运行后端是CPU那么仅支持在安装了LLVM12.0.1的机器运行。
**返回:**
COOTensor。
返回:
COOTensor。
.. py:method:: to_dense()
将CSRTensor转换为稠密Tensor。
**返回:**
Tensor。
返回:
Tensor。
.. py:method:: to_tuple()
将CSRTensor的行偏移量列索引非零元素以及形状信息作为tuple返回。
**返回:**
tuple(TensorTensor, Tensor, tuple(int))
返回:
tuple(TensorTensor, Tensor, tuple(int))。
.. py:method:: values
:property:

View File

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

View File

@ -8,119 +8,105 @@ mindspore.CheckpointConfig
.. note::
在训练过程中,如果数据集是通过数据通道传输的,建议将 `save_checkpoint_steps` 设为循环下沉step数量的整数倍数否则保存checkpoint的时机可能会有偏差。建议同时只设置一种触发保存checkpoint策略和一种保留checkpoint文件总数策略。如果同时设置了 `save_checkpoint_steps``save_checkpoint_seconds` ,则 `save_checkpoint_seconds` 无效。如果同时设置了 `keep_checkpoint_max``keep_checkpoint_per_n_minutes` ,则 `keep_checkpoint_per_n_minutes` 无效。
**参数:**
- **save_checkpoint_steps** (int) - 每隔多少个step保存一次checkpoint。默认值1。
- **save_checkpoint_seconds** (int) - 每隔多少秒保存一次checkpoint。不能同时与 `save_checkpoint_steps` 一起使用。默认值0。
- **keep_checkpoint_max** (int) - 最多保存多少个checkpoint文件。默认值5。
- **keep_checkpoint_per_n_minutes** (int) - 每隔多少分钟保存一个checkpoint文件。不能同时与 `keep_checkpoint_max` 一起使用。默认值0。
- **integrated_save** (bool) - 在自动并行场景下是否合并保存拆分后的Tensor。合并保存功能仅支持在自动并行场景中使用在手动并行场景中不支持。默认值True。
- **async_save** (bool) - 是否异步执行保存checkpoint文件。默认值False。
- **saved_network** (Cell) - 保存在checkpoint文件中的网络。如果 `saved_network` 没有被训练,则保存 `saved_network` 的初始值。默认值None。
- **append_info** (list) - 保存在checkpoint文件中的信息。支持"epoch_num"、"step_num"和dict类型。dict的key必须是strdict的value必须是int、float、bool、string、Parameter或Tensor中的一个。默认值None。
- **enc_key** (Union[None, bytes]) - 用于加密的字节类型key。如果值为None则不需要加密。默认值None。
- **enc_mode** (str) - 仅当 `enc_key` 不设为None时该参数有效。指定了加密模式目前支持AES-GCM和AES-CBC。默认值AES-GCM。
- **exception_save** (bool) - 当有异常发生时是否保存当前checkpoint文件。默认值False。
**异常:**
- **ValueError** - 输入参数的类型不正确。
参数:
- **save_checkpoint_steps** (int) - 每隔多少个step保存一次checkpoint。默认值1。
- **save_checkpoint_seconds** (int) - 每隔多少秒保存一次checkpoint。不能同时与 `save_checkpoint_steps` 一起使用。默认值0。
- **keep_checkpoint_max** (int) - 最多保存多少个checkpoint文件。默认值5。
- **keep_checkpoint_per_n_minutes** (int) - 每隔多少分钟保存一个checkpoint文件。不能同时与 `keep_checkpoint_max` 一起使用。默认值0。
- **integrated_save** (bool) - 在自动并行场景下是否合并保存拆分后的Tensor。合并保存功能仅支持在自动并行场景中使用在手动并行场景中不支持。默认值True。
- **async_save** (bool) - 是否异步执行保存checkpoint文件。默认值False。
- **saved_network** (Cell) - 保存在checkpoint文件中的网络。如果 `saved_network` 没有被训练,则保存 `saved_network` 的初始值。默认值None。
- **append_info** (list) - 保存在checkpoint文件中的信息。支持"epoch_num"、"step_num"和dict类型。dict的key必须是strdict的value必须是int、float、bool、string、Parameter或Tensor中的一个。默认值None。
- **enc_key** (Union[None, bytes]) - 用于加密的字节类型key。如果值为None则不需要加密。默认值None。
- **enc_mode** (str) - 仅当 `enc_key` 不设为None时该参数有效。指定了加密模式目前支持AES-GCM和AES-CBC。默认值AES-GCM。
- **exception_save** (bool) - 当有异常发生时是否保存当前checkpoint文件。默认值False。
异常:
- **ValueError** - 输入参数的类型不正确。
.. py:method:: append_dict
:property:
获取需要额外保存到checkpoint中的字典的值。
**返回:**
Dict: 字典中的值。
返回:
Dict: 字典中的值。
.. py:method:: async_save
:property:
获取是否异步保存checkpoint。
**返回:**
Bool: 是否异步保存checkpoint。
返回:
Bool: 是否异步保存checkpoint。
.. py:method:: enc_key
:property:
获取加密的key值。
**返回:**
(None, bytes): 加密的key值。
返回:
(None, bytes): 加密的key值。
.. py:method:: enc_mode
:property:
获取加密模式。
**返回:**
str: 加密模式。
返回:
str: 加密模式。
.. py:method:: get_checkpoint_policy()
获取checkpoint的保存策略。
**返回:**
Dict: checkpoint的保存策略。
返回:
Dict: checkpoint的保存策略。
.. py:method:: integrated_save
:property:
获取是否合并保存拆分后的Tensor。
**返回:**
Bool: 获取是否合并保存拆分后的Tensor。
返回:
Bool: 获取是否合并保存拆分后的Tensor。
.. py:method:: keep_checkpoint_max
:property:
获取最多保存checkpoint文件的数量。
**返回:**
Int: 最多保存checkpoint文件的数量。
返回:
Int: 最多保存checkpoint文件的数量。
.. py:method:: keep_checkpoint_per_n_minutes
:property:
获取每隔多少分钟保存一个checkpoint文件。
**返回:**
Int: 每隔多少分钟保存一个checkpoint文件。
返回:
Int: 每隔多少分钟保存一个checkpoint文件。
.. py:method:: save_checkpoint_seconds
:property:
获取每隔多少秒保存一次checkpoint文件。
**返回:**
Int: 每隔多少秒保存一次checkpoint文件。
返回:
Int: 每隔多少秒保存一次checkpoint文件。
.. py:method:: save_checkpoint_steps
:property:
获取每隔多少个step保存一次checkpoint文件。
**返回:**
Int: 每隔多少个step保存一次checkpoint文件。
返回:
Int: 每隔多少个step保存一次checkpoint文件。
.. py:method:: saved_network
:property:
获取需要保存的网络。
**返回:**
Cell: 需要保存的网络。
返回:
Cell: 需要保存的网络。

View File

@ -10,23 +10,21 @@ mindspore.ConvertModelUtils
该接口用于增加计算图提升二阶算法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"。
参数:
- **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。建议级别基于专家经验不能总是一概而论。对于特殊网络用户需要指定对应的混合精度训练级别。
- **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。
- **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。
返回:
model (Object)用于训练的高级API。

View File

@ -12,6 +12,5 @@ mindspore.ConvertNetUtils
.. note::
此接口由二阶优化器thor自动调用。
**参数:**
**net** (Cell) - 由二阶优化器thor训练的网络。
参数:
- **net** (Cell) - 由二阶优化器thor训练的网络。

View File

@ -10,12 +10,11 @@ mindspore.DatasetHelper
.. note::
DatasetHelper的迭代将提供一个epoch的数据。
**参数:**
- **dataset** (Dataset) - 训练数据集迭代器。数据集可以由数据集生成器API在 :class:`mindspore.dataset` 中生成,例如 :class:`mindspore.dataset.ImageFolderDataset`
- **dataset_sink_mode** (bool) - 如果值为True使用 :class:`mindspore.ops.GetNext` 在设备Device上通过数据通道中获取数据否则在主机Host直接遍历数据集获取数据。默认值True。
- **sink_size** (int) - 控制每个下沉中的数据量。如果 `sink_size` 为-1则下沉每个epoch的完整数据集。如果 `sink_size` 大于0则下沉每个epoch的 `sink_size` 数据。默认值:-1。
- **epoch_num** (int) - 控制待发送的epoch数据量。默认值1。
参数:
- **dataset** (Dataset) - 训练数据集迭代器。数据集可以由数据集生成器API在 :class:`mindspore.dataset` 中生成,例如 :class:`mindspore.dataset.ImageFolderDataset`
- **dataset_sink_mode** (bool) - 如果值为True使用 :class:`mindspore.ops.GetNext` 在设备Device上通过数据通道中获取数据否则在主机Host直接遍历数据集获取数据。默认值True。
- **sink_size** (int) - 控制每个下沉中的数据量。如果 `sink_size` 为-1则下沉每个epoch的完整数据集。如果 `sink_size` 大于0则下沉每个epoch的 `sink_size` 数据。默认值:-1。
- **epoch_num** (int) - 控制待发送的epoch数据量。默认值1。
.. py:method:: continue_send()

View File

@ -5,40 +5,35 @@ mindspore.DynamicLossScaleManager
动态调整损失缩放系数的管理器,继承自 :class:`mindspore.LossScaleManager`
**参数:**
- **init_loss_scale** (float) - 初始梯度放大系数。默认值2**24。
- **scale_factor** (int) - 放大/缩小倍数。默认值2。
- **scale_window** (int) - 无溢出时的连续正常step的最大数量。默认值2000。
参数:
- **init_loss_scale** (float) - 初始梯度放大系数。默认值2**24。
- **scale_factor** (int) - 放大/缩小倍数。默认值2。
- **scale_window** (int) - 无溢出时的连续正常step的最大数量。默认值2000。
.. py:method:: get_drop_overflow_update()
该值表示是否在发生溢出时放弃本轮参数更新。
**返回:**
bool始终为True。
返回:
bool始终为True。
.. py:method:: get_loss_scale()
返回当前梯度放大系数。
**返回:**
float梯度放大系数。
返回:
float梯度放大系数。
.. py:method:: get_update_cell()
返回用于更新梯度放大系数的 `Cell` 实例,:class:`mindspore.nn.TrainOneStepWithLossScaleCell` 会调用该实例。
**返回:**
:class:`mindspore.nn.DynamicLossScaleUpdateCell` 实例,用于更新梯度放大系数。
返回:
:class:`mindspore.nn.DynamicLossScaleUpdateCell` 实例,用于更新梯度放大系数。
.. py:method:: update_loss_scale(overflow)
根据溢出状态更新梯度放大系数。如果发生溢出,减小梯度放大系数,否则增大梯度放大系数。
**参数:**
**overflow** (bool) - 表示是否溢出。
参数:
- **overflow** (bool) - 表示是否溢出。

View File

@ -7,41 +7,36 @@ mindspore.EarlyStopping
假设 `monitor` 是"accuracy",那么,`mode` 将为"max",因为训练的目标是准确率的提高,`model.fit()` 边训练边验证场景下,将记录 `monitor` 的变化,当在 `patience` 个epoch范围内指标效果变好的程度没有超过 `min_delta` 时,将调用 `run_context.request_stop()` 方法来终止训练。
**参数:**
参数:
- **monitor** (str) - 监控指标。如果是边训练边推理场景合法的monitor配置值可以为"loss", "eval_loss"以及实例化 `Model` 时传入的metric名称如果在训练时不做推理合法的monitor配置值为"loss"。当monitor为"loss"时,如果训练网络有多个输出,默认取第一个值为训练损失值。默认值:"eval_loss"。
- **min_delta** (float) - `monitor` 指标变化的最小阈值,超过此阈值才视为 `monitor` 的变化。默认值0。
- **patience** (int) - `moniter` 相对历史最优值变好超过 `min_delta` 视为当前epoch的模型效果有所改善`patience` 为等待的无改善epoch的数量当内部等待的epoch数 `self.wait` 大于等于 `patience`训练停止。默认值0。
- **verbose** (bool) - 是否打印相关信息。默认值False。
- **mode** (str) - `{'auto', 'min', 'max'}` 中的一种,'min'模式下将在指标不再减小时执行早停,'max'模式下将在指标不再增大时执行早停,'auto'模式将根据当前 `monitor` 指标的特点自动设置。默认值:"auto"。
- **baseline** (float) - 模型效果的基线,当前 `moniter` 相对历史最优值变好且好于 `baseline`内部的等待epoch计数器被清零。默认值0。
- **restore_best_weights** (bool) - 是否自动保存最优模型的权重。默认值False。
- **monitor** (str) - 监控指标。如果是边训练边推理场景合法的monitor配置值可以为"loss", "eval_loss"以及实例化 `Model` 时传入的metric名称如果在训练时不做推理合法的monitor配置值为"loss"。当monitor为"loss"时,如果训练网络有多个输出,默认取第一个值为训练损失值。默认值:"eval_loss"。
- **min_delta** (float) - `monitor` 指标变化的最小阈值,超过此阈值才视为 `monitor` 的变化。默认值0。
- **patience** (int) - `moniter` 相对历史最优值变好超过 `min_delta` 视为当前epoch的模型效果有所改善`patience` 为等待的无改善epoch的数量当内部等待的epoch数 `self.wait` 大于等于 `patience`训练停止。默认值0。
- **verbose** (bool) - 是否打印相关信息。默认值False。
- **mode** (str) - `{'auto', 'min', 'max'}` 中的一种,'min'模式下将在指标不再减小时执行早停,'max'模式下将在指标不再增大时执行早停,'auto'模式将根据当前 `monitor` 指标的特点自动设置。默认值:"auto"。
- **baseline** (float) - 模型效果的基线,当前 `moniter` 相对历史最优值变好且好于 `baseline`内部的等待epoch计数器被清零。默认值0。
- **restore_best_weights** (bool) - 是否自动保存最优模型的权重。默认值False。
**异常:**
- **ValueError** - 当 `mode` 不在 `{'auto', 'min', 'max'}` 中。
- **ValueError** - 当传入的 `monitor` 返回值不是标量。
异常:
- **ValueError** - 当 `mode` 不在 `{'auto', 'min', 'max'}` 中。
- **ValueError** - 当传入的 `monitor` 返回值不是标量。
.. py:method:: on_train_begin(run_context)
训练开始时初始化相关的变量。
**参数:**
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`
参数:
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`
.. py:method:: on_train_epoch_end(run_context)
训练过程中,若监控指标在等待 `patience` 个epoch后仍没有改善则停止训练。
**参数:**
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`
参数:
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`
.. py:method:: on_train_end(run_context)
打印是第几个epoch执行早停。
**参数:**
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`
参数:
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`

View File

@ -7,6 +7,5 @@ mindspore.async_ckpt_thread_status
在执行异步保存checkpoint时判断异步线程是否执行完毕。
**返回:**
Bool: True异步保存checkpoint线程正在运行。False异步保存checkpoint线程未运行。
返回:
Bool: True异步保存checkpoint线程正在运行。False异步保存checkpoint线程未运行。

View File

@ -5,15 +5,12 @@ mindspore.build_searched_strategy
构建网络中每个参数的策略,用于分布式推理。关于它的使用细节,请参考: `保存和加载模型HyBrid Parallel模式 <https://www.mindspore.cn/tutorials/experts/zh-CN/master/parallel/save_load.html>`_
**参数:**
参数:
- **strategy_filename** (str) - 策略文件的名称。
**strategy_filename** (str) - 策略文件的名称。
返回:
Dictkey为参数名value为该参数的切片策略。
**返回:**
Dictkey为参数名value为该参数的切片策略。
**异常:**
- **ValueError** - 策略文件不正确。
- **TypeError** - `strategy_filename` 不是str。
异常:
- **ValueError** - 策略文件不正确。
- **TypeError** - `strategy_filename` 不是str。

View File

@ -5,28 +5,26 @@ mindspore.build_train_network
构建混合精度训练网络。
**参数:**
参数:
- **network** (Cell) - 定义网络结构。
- **optimizer** (Optimizer) - 定义优化器,用于更新权重参数。
- **loss_fn** (Union[None, Cell]) - 定义损失函数。如果为None `network` 中应该包含损失函数。默认值None。
- **level** (str) - 支持["O0", "O2", "O3", "auto"]。默认值:"O0"。
- **network** (Cell) 定义网络结构。
- **optimizer** (Optimizer) 定义优化器,用于更新权重参数。
- **loss_fn** (Union[None, Cell]) 定义损失函数。如果为None `network` 中应该包含损失函数。默认值None。
- **level** (str) 支持["O0", "O2", "O3", "auto"]。默认值:"O0"
- **"O0"** - 不变化
- **"O2"** - 将网络精度转为float16 `BatchNorm``loss_fn` 保持float32精度使用动态调整损失缩放系数loss scale的策略
- **"O3"** - 将网络精度转为float16不使用损失缩放策略并设置 `keep_batchnorm_fp32` 为False。
- **auto** - 为不同处理器设置专家推荐的混合精度等级如在GPU上设为"O2"在Ascend上设为"O3"。该设置方式可能在部分场景下不适用,建议用户根据具体的网络模型自定义设置 `amp_level``keep_batchnorm_fp32` `cast_model_type``loss_scale_manager` 属性由level自动决定
- **"O0"** - 不变化。
- **"O2"** - 将网络精度转为float16 `BatchNorm``loss_fn` 保持float32精度使用动态调整损失缩放系数loss scale的策略。
- **"O3"** - 将网络精度转为float16不使用损失缩放策略并设置 `keep_batchnorm_fp32` 为False。
- **auto** - 为不同处理器设置专家推荐的混合精度等级如在GPU上设为"O2"在Ascend上设为"O3"。该设置方式可能在部分场景下不适用,建议用户根据具体的网络模型自定义设置 `amp_level``keep_batchnorm_fp32` `cast_model_type``loss_scale_manager` 属性由level自动决定。
- **boost_level** (str) - `mindspore.boost` 中参数 `level` 的选项设置boost的训练模式级别。支持["O0", "O1", "O2"]。默认值: "O0"。
- **boost_level** (str) `mindspore.boost` 中参数 `level` 的选项设置boost的训练模式级别。支持["O0", "O1", "O2"]。默认值: "O0"。
- **"O0"** - 不变化。
- **"O1"** - 开启boost模式性能提升20%左右,准确率与原始准确率相同。
- **"O2"** - 开启boost模式性能提升30%左右准确率降低小于3%。如果设置了"O1"或"O2"模式boost相关库将自动生效。
- **"O0"** - 不变化。
- **"O1"** - 开启boost模式性能提升20%左右,准确率与原始准确率相同
- **"O2"** - 开启boost模式性能提升30%左右准确率降低小于3%。如果设置了"O1"或"O2"模式boost相关库将自动生效
- **cast_model_type** (mindspore.dtype) - 支持float16float32。如果设置了该参数网络将被转化为设置的数据类型而不会根据设置的level进行转换
- **keep_batchnorm_fp32** (bool) - 当网络被设置为float16时配置为True则BatchNorm将保持在float32下运行。设置level不会影响该属性
- **loss_scale_manager** (Union[None, LossScaleManager]) - 如果不为None必须是 :class:`mindspore.LossScaleManager` 的子类,用于缩放损失系数(loss scale)。设置level不会影响该属性
- **cast_model_type** (mindspore.dtype) 支持float16float32。如果设置了该参数网络将被转化为设置的数据类型而不会根据设置的level进行转换。
- **keep_batchnorm_fp32** (bool) 当网络被设置为float16时配置为True则BatchNorm将保持在float32下运行。设置level不会影响该属性。
- **loss_scale_manager** (Union[None, LossScaleManager]) 如果不为None必须是 :class:`mindspore.LossScaleManager` 的子类,用于缩放损失系数(loss scale)。设置level不会影响该属性。
**异常:**
- **ValueError** - 在CPU上属性 `loss_scale_manager` 不是 `None``FixedLossScaleManager` (其属性 `drop_overflow_update=False` )。
异常:
- **ValueError** - 在CPU上属性 `loss_scale_manager` 不是 `None``FixedLossScaleManager` (其属性 `drop_overflow_update=False` )。

View File

@ -10,15 +10,12 @@ mindspore.connect_network_with_dataset
.. note::
如果以图模式在Ascend/GPU上运行网络此函数将使用 :class:`mindspore.ops.GetNext` 包装输入网络。在其他情况下,输入网络将在没有改动的情况下返回。仅在下沉模式下获取数据需要使用 :class:`mindspore.ops.GetNext` ,因此此函数不适用于非下沉模式。
**参数:**
参数:
- **network** (Cell) - 数据集的训练网络。
- **dataset_helper** (DatasetHelper) - 一个处理MindData数据集的类提供了数据集的类型、形状shape和队列名称以包装 :class:`mindspore.ops.GetNext`
- **network** (Cell) - 数据集的训练网络。
- **dataset_helper** (DatasetHelper) - 一个处理MindData数据集的类提供了数据集的类型、形状shape和队列名称以包装 :class:`mindspore.ops.GetNext`
返回:
Cell在Ascend上以图模式运行任务的情况下一个由 :class:`mindspore.ops.GetNext` 包装的新网络。在其他情况下是输入网络
**返回:**
Cell在Ascend上以图模式运行任务的情况下一个由 :class:`mindspore.ops.GetNext` 包装的新网络。在其他情况下是输入网络。
**异常:**
- **RuntimeError** - 如果该接口在非数据下沉模式调用。
异常:
- **RuntimeError** - 如果该接口在非数据下沉模式调用。

View File

@ -8,14 +8,12 @@ mindspore.conver_model
.. note::
这是一个实验特性未来API可能会发生的变化。
**参数:**
参数:
- **mindir_file** (str) - MindIR模型文件名称。
- **convert_file** (str) - 转化后的模型文件名称。
- **file_format** (str) - 需要转化的文件格式,当前版本仅支持"ONNX"。
- **mindir_file** (str) - MindIR模型文件名称。
- **convert_file** (str) - 转化后的模型文件名称。
- **file_format** (str) - 需要转化的文件格式,当前版本仅支持"ONNX"。
**异常:**
- **TypeError** - `mindir_file` 参数不是str类型。
- **TypeError** - `convert_file` 参数不是str类型。
- **ValueError** - `file_format` 参数的值不是"ONNX"。
异常:
- **TypeError** - `mindir_file` 参数不是str类型。
- **TypeError** - `convert_file` 参数不是str类型。
- **ValueError** - `file_format` 参数的值不是"ONNX"。

View File

@ -46,10 +46,10 @@ mindspore.dtype
``uint`` 无符号整数标量。
``float_`` 浮点标量。
``complex`` 复数标量。
``number`` 数值型, 包括 ``int_`` , ``uint`` , ``float_`` , ``complex````bool_``
``number`` 数值型,包括 ``int_````uint````float_````complex````bool_``
``list_````tensor`` 构造的列表,例如 ``List[T0,T1,...,Tn]`` ,其中元素 ``Ti`` 可以是不同的类型。
``tuple_````tensor`` 构造的元组,例如 ``Tuple[T0,T1,...,Tn]`` ,其中元素 ``Ti`` 可以是不同的类型。
``function`` 函数类型。 两种返回方式当function不是None时直接返回function另一种当function为None时返回function(参数: List[T0,T1,...,Tn], 返回值: T)。
``function`` 函数类型。两种返回方式当function不是None时直接返回function另一种当function为None时返回function(参数: List[T0,T1,...,Tn]返回值: T)。
``type_type`` 类型的类型定义。
``type_none`` 没有匹配的返回类型,对应 Python 中的 ``type(None)``
``symbolic_key````env_type`` 中用作变量的键的变量的值。

View File

@ -5,10 +5,8 @@ mindspore.dtype_to_nptype
将MindSpore 数据类型转换成NumPy数据类型。
**参数:**
参数:
- **type_** (mindspore.dtype) - MindSpore中的dtype。
- **type_** (mindspore.dtype) MindSpore中的dtype。
**返回:**
NumPy的数据类型。
返回:
NumPy的数据类型。

View File

@ -3,12 +3,10 @@ mindspore.dtype_to_pytype
.. py:function:: mindspore.dtype_to_pytype(type_)
将MindSpore 数据类型转换为Python数据类型。
将MindSpore数据类型转换为Python数据类型。
**参数:**
参数:
- **type_** (mindspore.dtype) - MindSpore中的dtype。
- **type_** (mindspore.dtype) MindSpore中的dtype。
**返回:**
Python的数据类型。
返回:
Python的数据类型。

View File

@ -9,25 +9,24 @@ mindspore.export
- 当导出文件格式为AIR、ONNX时单个Tensor的大小不能超过2GB。
- 当 `file_name` 没有后缀时,系统会根据 `file_format` 自动添加后缀。
**参数:**
参数:
- **net** (Cell) - MindSpore网络结构。
- **inputs** (Union[Tensor, Dasaset, List, Tuple, Number, Bool) - 网络的输入,如果网络有多个输入,需要一同传入。当传入的类型为 `Dataset`将会把数据预处理行为同步保存起来。需要手动调整batch的大小当前仅支持获取 `Dataset``image` 列。
- **file_name** (str) - 导出模型的文件名称。
- **file_format** (str) - MindSpore目前支持导出"AIR""ONNX"和"MINDIR"格式的模型。
- **net** (Cell) MindSpore网络结构。
- **inputs** (Union[Tensor, Dasaset, List, Tuple, Number, Bool) 网络的输入,如果网络有多个输入,需要一同传入。当传入的类型为 `Dataset`将会把数据预处理行为同步保存起来。需要手动调整batch的大小当前仅支持获取 `Dataset``image` 列。
- **file_name** (str) 导出模型的文件名称。
- **file_format** (str) MindSpore目前支持导出"AIR""ONNX"和"MINDIR"格式的模型。
- **AIR** - Ascend Intermediate Representation。一种Ascend模型的中间表示格式。推荐的输出文件后缀是".air"。
- **ONNX** - Open Neural Network eXchange。一种针对机器学习所设计的开放式的文件格式。推荐的输出文件后缀是".onnx"。
- **MINDIR** - MindSpore Native Intermediate Representation for Anf。一种MindSpore模型的中间表示格式。推荐的输出文件后缀是".mindir"。
- **AIR** - Ascend Intermediate Representation。一种Ascend模型的中间表示格式。推荐的输出文件后缀是".air"。
- **ONNX** - Open Neural Network eXchange。一种针对机器学习所设计的开放式的文件格式。推荐的输出文件后缀是“.onnx”。
- **MINDIR** - MindSpore Native Intermediate Representation for Anf。一种MindSpore模型的中间表示格式。推荐的输出文件后缀是".mindir"。
- **kwargs** (dict) - 配置选项字典。
- **kwargs** (dict) 配置选项字典。
- **quant_mode** (str) - 如果网络是量化感知训练网络,那么 `quant_mode` 需要设置为"QUANT",否则 `quant_mode` 需要设置为"NONQUANT"。
- **mean** (float) - 预处理后输入数据的平均值用于量化网络的第一层。默认值127.5。
- **std_dev** (float) - 预处理后输入数据的方差用于量化网络的第一层。默认值127.5。
- **enc_key** (str) - 用于加密的字节类型密钥有效长度为16、24或者32。
- **enc_mode** (Union[str, function]) - 指定加密模式,当设置 `enc_key` 时启用。
- 对于'AIR'和'ONNX'格式的模型,当前仅支持自定义加密导出。
- 对于'MINDIR'格式的模型,支持的加密选项有:'AES-GCM''AES-CBC'和用户自定义加密算法。默认值:"AES-GCM"。
- 关于使用自定义加密导出的详情, 请查看 `教程 <https://www.mindspore.cn/mindarmour/docs/zh-CN/master/model_encrypt_protection.html>`_
- **dataset** (Dataset) - 指定数据集的预处理方法用于将数据集的预处理导入MindIR。
- **quant_mode** (str) - 如果网络是量化感知训练网络,那么 `quant_mode` 需要设置为"QUANT",否则 `quant_mode` 需要设置为"NONQUANT"。
- **mean** (float) - 预处理后输入数据的平均值用于量化网络的第一层。默认值127.5。
- **std_dev** (float) - 预处理后输入数据的方差用于量化网络的第一层。默认值127.5。
- **enc_key** (str) - 用于加密的字节类型密钥有效长度为16、24或者32。
- **enc_mode** (Union[str, function]) - 指定加密模式,当设置 `enc_key` 时启用。
- 对于'AIR'和'ONNX'格式的模型,当前仅支持自定义加密导出。
- 对于'MINDIR'格式的模型,支持的加密选项有:'AES-GCM''AES-CBC'和用户自定义加密算法。默认值:"AES-GCM"。
- 关于使用自定义加密导出的详情,请查看 `教程 <https://www.mindspore.cn/mindarmour/docs/zh-CN/master/model_encrypt_protection.html>`_
- **dataset** (Dataset) - 指定数据集的预处理方法用于将数据集的预处理导入MindIR。

View File

@ -539,9 +539,6 @@ class SeLU(Cell):
Supported Platforms:
``Ascend`` ``GPU`` ``CPU``
Raises:
TypeError: If dtype of `input_x` is neither float16 nor float32.
Examples:
>>> input_x = Tensor(np.array([[-1.0, 4.0, -8.0], [2.0, -5.0, 9.0]]), mindspore.float32)
>>> selu = nn.SeLU()
@ -1407,9 +1404,6 @@ class Mish(Cell):
Supported Platforms:
``Ascend`` ``CPU``
Raises:
TypeError: If dtype of `x` is neither float16 nor float32.
Examples:
>>> x = Tensor(np.array([[-1.0, 4.0, -8.0], [2.0, -5.0, 9.0]]), mindspore.float32)
>>> mish = ops.Mish()