!38646 fix code formats in mindspore.nn for master part01

Merge pull request !38646 from lvmingfu/master
This commit is contained in:
i-robot 2022-07-25 07:25:47 +00:00 committed by Gitee
commit 03b7c459b2
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
90 changed files with 1625 additions and 2036 deletions

View File

@ -11,10 +11,9 @@ mindspore.nn.Accuracy
\text{accuracy} =\frac{\text{true_positive} + \text{true_negative}}
{\text{true_positive} + \text{true_negative} + \text{false_positive} + \text{false_negative}}
**参数:**
- **eval_type** (str) - 评估的数据集的类型,支持'classification'和'multilabel'。'classification'为单标签分类场景,'multilabel'为多标签分类场景。
默认值:'classification'。
参数:
- **eval_type** (str) - 评估的数据集的类型,支持'classification'和'multilabel'。'classification'为单标签分类场景,'multilabel'为多标签分类场景。
默认值:'classification'。
.. py:method:: clear()
@ -24,29 +23,25 @@ mindspore.nn.Accuracy
计算正确率。
**返回:**
返回:
np.float64计算的正确率结果。
np.float64计算的正确率结果。
**异常:**
- **RuntimeError** - 样本量为0。
异常:
- **RuntimeError** - 样本量为0。
.. py:method:: update(*inputs)
更新局部变量。计算预测值y_pred和标签y的匹配频率。
对于'classification',如果预测的最大值的索引匹配真实的标签,预测正确;对于'multilabel',如果预测值与真实标签匹配,预测正确。
**参数:**
参数:
- **inputs** - 预测值 `y_pred` 和真实标签 `y` `y_pred``y` 支持Tensor、list或numpy.ndarray类型。
- **inputs** - 预测值 `y_pred` 和真实标签 `y` `y_pred``y` 支持Tensor、list或numpy.ndarray类型。
对于'classification'情况, `y_pred` 在大多数情况下由范围 :math:`[0, 1]` 中的浮点数组成shape为 :math:`(N, C)` ,其中 :math:`N` 是样本数, :math:`C` 是类别数。
`y` 由整数值组成如果是one_hot编码格式shape是 :math:`(N,C)` 如果是类别索引shape是 :math:`(N,)`
对于'classification'情况, `y_pred` 在大多数情况下由范围 :math:`[0, 1]` 中的浮点数组成shape为 :math:`(N, C)` ,其中 :math:`N` 是样本数, :math:`C` 是类别数。
`y` 由整数值组成如果是one_hot编码格式shape是 :math:`(N,C)` 如果是类别索引shape是 :math:`(N,)`
对于'multilabel'情况, `y_pred``y` 只能是值为0或1的one-hot编码格式其中值为1的索引表示正类别。 `y_pred``y` 的shape都是 :math:`(N,C)`
对于'multilabel'情况, `y_pred``y` 只能是值为0或1的one-hot编码格式其中值为1的索引表示正类别。 `y_pred``y` 的shape都是 :math:`(N,C)`
**异常:**
- **ValueError** - inputs的数量不等于2。
- **ValueError** - 当前输入的 `y_pred` 和历史 `y_pred` 类别数不匹配。
异常:
- **ValueError** - inputs的数量不等于2。
- **ValueError** - 当前输入的 `y_pred` 和历史 `y_pred` 类别数不匹配。

View File

@ -22,43 +22,39 @@ mindspore.nn.AdaMax
.. include:: mindspore.nn.optim_note_weight_decay.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
- **learning_rate** (Union[float, Tensor, iterable, LearningRateSchedule]): 默认值0.001。
- **learning_rate** (Union[float, Tensor, iterable, LearningRateSchedule]): 默认值0.001。
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
- **beta1** (float) - 第一个动量矩阵的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - 第二个动量矩阵的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 加在分母上的值以确保数值稳定。必须大于0。默认值1e-8。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
- **beta1** (float) - 第一个动量矩阵的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - 第二个动量矩阵的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 加在分母上的值以确保数值稳定。必须大于0。默认值1e-8。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
输入:
- **gradients** (tuple[Tensor]) - `params` 的梯度形状shape`params` 相同。
**输入:**
输出:
Tensor[bool]值为True。
- **gradients** (tuple[Tensor]) - `params` 的梯度形状shape`params` 相同。
**输出:**
Tensor[bool]值为True。
**异常:**
- **TypeError** - `learning_rate` 不是int、float、Tensor、iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `loss_scale``eps` 小于或等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
异常:
- **TypeError** - `learning_rate` 不是int、float、Tensor、iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `loss_scale``eps` 小于或等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。

View File

@ -21,17 +21,14 @@ mindspore.nn.AdaSumByDeltaWeightWrapCell
本接口推荐应用于半自动并行或者全自动并行模式。针对数据并行模式推荐使用mindspore.boost功能以使用AdaSum。
使用本接口时训练的卡的数量必须是2的幂并且至少需要16张卡。目前使用本接口时不支持优化器并行和流水线并行。
**参数:**
参数:
- **optimizer** (nn.optimizer) - 必须是单输入的优化器。
- **optimizer** (nn.optimizer) - 必须是单输入的优化器。
输入:
- **grads** (tuple[Tensor]) - `params` 的梯度形状shape`params` 相同,与所传优化器的输入一致。
**输入:**
- **grads** (tuple[Tensor]) - `params` 的梯度形状shape`params` 相同,与所传优化器的输入一致。
**异常:**
- **RuntimeError** - `parallel_mode` 使用了 `stand_alone` 模式, AdaSum仅支持在分布式场景下使用。
- **RuntimeError** - 同时使用了优化器并行, 暂时不支持在优化器并行场景下使用AdaSum。
- **RuntimeError** - 同时使用了流水线并行, 暂时不支持在流水线并行场景下使用AdaSum。
- **RuntimeError** - `device_num` 不是2的幂或者小于16。
异常:
- **RuntimeError** - `parallel_mode` 使用了 `stand_alone` 模式, AdaSum仅支持在分布式场景下使用。
- **RuntimeError** - 同时使用了优化器并行, 暂时不支持在优化器并行场景下使用AdaSum。
- **RuntimeError** - 同时使用了流水线并行, 暂时不支持在流水线并行场景下使用AdaSum。
- **RuntimeError** - `device_num` 不是2的幂或者小于16。

View File

@ -21,17 +21,14 @@ mindspore.nn.AdaSumByGradWrapCell
本接口推荐应用于半自动并行或者全自动并行模式。针对数据并行模式推荐使用mindspore.boost功能以使用AdaSum。
使用本接口时训练的卡的数量必须是2的幂并且至少需要16张卡。目前使用本接口时不支持优化器并行和流水线并行。
**参数:**
参数:
- **optimizer** (nn.optimizer) - 必须是单输入的优化器。
- **optimizer** (nn.optimizer) - 必须是单输入的优化器。
输入:
- **grads** (tuple[Tensor]) - `params` 的梯度形状shape`params` 相同,与所传优化器的输入一致。
**输入:**
- **grads** (tuple[Tensor]) - `params` 的梯度形状shape`params` 相同,与所传优化器的输入一致。
**异常:**
- **RuntimeError** - `parallel_mode` 使用了 `stand_alone` 模式, AdaSum仅支持在分布式场景下使用。
- **RuntimeError** - 同时使用了优化器并行, 暂时不支持在优化器并行场景下使用AdaSum。
- **RuntimeError** - 同时使用了流水线并行, 暂时不支持在流水线并行场景下使用AdaSum。
- **RuntimeError** - `device_num` 不是2的幂或者小于16。
异常:
- **RuntimeError** - `parallel_mode` 使用了 `stand_alone` 模式, AdaSum仅支持在分布式场景下使用。
- **RuntimeError** - 同时使用了优化器并行, 暂时不支持在优化器并行场景下使用AdaSum。
- **RuntimeError** - 同时使用了流水线并行, 暂时不支持在流水线并行场景下使用AdaSum。
- **RuntimeError** - `device_num` 不是2的幂或者小于16。

View File

@ -24,41 +24,37 @@ mindspore.nn.Adadelta
.. note::
.. include:: mindspore.nn.optim_note_weight_decay.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值1.0。
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值1.0。
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
- **rho** (float) - 衰减率,应在 [0.0, 1.0] 范围内。默认值0.9。
- **epsilon** (float) - 分母添加项非负数。默认值1e-6。
- **rho** (float) - 衰减率,应在 [0.0, 1.0] 范围内。默认值0.9。
- **epsilon** (float) - 分母添加项非负数。默认值1e-6。
.. include:: mindspore.nn.optim_arg_loss_scale.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
- **weight_decay** (Union[float, int]) - 权重衰减值必须大于等于0.0。默认值0.0。
- **weight_decay** (Union[float, int]) - 权重衰减值必须大于等于0.0。默认值0.0。
输入:
- **grads** (tuple[Tensor]) - 优化器中 `params` 的梯度形状shape和数据类型与 `params` 相同。数据类型为float16或float32。
**输入:**
输出:
Tensor[bool]值为True。
- **grads** (tuple[Tensor]) - 优化器中 `params` 的梯度形状shape和数据类型与 `params` 相同。数据类型为float16或float32。
**输出:**
Tensor[bool]值为True。
**异常:**
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或 `LearningRateSchedule`
- **TypeError** - `parameters` 的元素是 `Parameter` 或字典。
- **TypeError** - `rho``epsilon``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `rho` 不在范围 [0.0, 1.0] 内。
- **ValueError** - `loss_scale` 小于或等于0。
- **ValueError** - `learning_rate``epsilon``weight_decay` 小于0。
异常:
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或 `LearningRateSchedule`
- **TypeError** - `parameters` 的元素是 `Parameter` 或字典。
- **TypeError** - `rho``epsilon``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `rho` 不在范围 [0.0, 1.0] 内。
- **ValueError** - `loss_scale` 小于或等于0。
- **ValueError** - `learning_rate``epsilon``weight_decay` 小于0。

View File

@ -39,41 +39,37 @@ mindspore.nn.Adagrad
.. note::
.. include:: mindspore.nn.optim_note_weight_decay.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
- **accum** (float) - 累加器 :math:`h` 的初始值必须大于等于零。默认值0.1。
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值0.001。
- **accum** (float) - 累加器 :math:`h` 的初始值必须大于等于零。默认值0.1。
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值0.001。
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
- **update_slots** (bool) - 如果为True则更新累加器 :math:`h` 。默认值True。
- **update_slots** (bool) - 如果为True则更新累加器 :math:`h` 。默认值True。
.. include:: mindspore.nn.optim_arg_loss_scale.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
- **weight_decay** (Union[float, int]) - 要乘以权重的权重衰减值必须大于等于0.0。默认值0.0。
- **weight_decay** (Union[float, int]) - 要乘以权重的权重衰减值必须大于等于0.0。默认值0.0。
输入:
**grads** (tuple[Tensor]) - 优化器中 `params` 的梯度形状shape`params` 相同。
**输入:**
输出:
Tensor[bool]值为True。
**grads** (tuple[Tensor]) - 优化器中 `params` 的梯度形状shape`params` 相同。
**输出:**
Tensor[bool]值为True。
**异常:**
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或 `LearningRateSchedule`
- **TypeError** - `parameters` 的元素是 `Parameter` 或字典。
- **TypeError** - `accum``loss_scale` 不是float。
- **TypeError** - `update_slots` 不是bool。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `loss_scale` 小于或等于0。
- **ValueError** - `accum``weight_decay` 小于0。
异常:
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或 `LearningRateSchedule`
- **TypeError** - `parameters` 的元素是 `Parameter` 或字典。
- **TypeError** - `accum``loss_scale` 不是float。
- **TypeError** - `update_slots` 不是bool。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `loss_scale` 小于或等于0。
- **ValueError** - `accum``weight_decay` 小于0。

View File

@ -49,50 +49,46 @@ mindspore.nn.Adam
.. include:: mindspore.nn.optim_note_weight_decay.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
- **learning_rate** (Union[float, Tensor, iterable, LearningRateSchedule]): 默认值1e-3。
- **learning_rate** (Union[float, Tensor, iterable, LearningRateSchedule]): 默认值1e-3。
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
- **beta1** (float) - 第一个动量矩阵的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - 第二个动量矩阵的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 加在分母上的值以确保数值稳定。必须大于0。默认值1e-8。
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True`w``m``v` 的tensor更新将受到锁的保护。如果为False则结果不可预测。默认值False。
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True使用NAG更新梯度。如果为False则在不使用NAG的情况下更新梯度。默认值False。
- **use_amsgrad** (bool) - 是否使用Amsgrad算法更新梯度。如果为True使用Amsgrad更新梯度。如果为False则在不使用Amsgrad的情况下更新梯度。默认值False。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
- **beta1** (float) - 第一个动量矩阵的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - 第二个动量矩阵的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 加在分母上的值以确保数值稳定。必须大于0。默认值1e-8。
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True`w``m``v` 的tensor更新将受到锁的保护。如果为False则结果不可预测。默认值False。
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True使用NAG更新梯度。如果为False则在不使用NAG的情况下更新梯度。默认值False。
- **use_amsgrad** (bool) - 是否使用Amsgrad算法更新梯度。如果为True使用Amsgrad更新梯度。如果为False则在不使用Amsgrad的情况下更新梯度。默认值False。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
输入:
- **gradients** (tuple[Tensor]) - `params` 的梯度形状shape`params` 相同。
**输入:**
输出:
Tensor[bool]值为True。
- **gradients** (tuple[Tensor]) - `params` 的梯度形状shape`params` 相同。
**输出:**
Tensor[bool]值为True。
**异常:**
- **TypeError** - `learning_rate` 不是int、float、Tensor、iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **TypeError** - `use_locking``use_nesterov``use_amsgrad` 不是bool。
- **ValueError** - `loss_scale``eps` 小于或等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
异常:
- **TypeError** - `learning_rate` 不是int、float、Tensor、iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **TypeError** - `use_locking``use_nesterov``use_amsgrad` 不是bool。
- **ValueError** - `loss_scale``eps` 小于或等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
.. include:: mindspore.nn.optim_target_unique_for_sparse.rst

View File

@ -24,45 +24,41 @@ mindspore.nn.AdamOffload
.. include:: mindspore.nn.optim_note_weight_decay.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、和"order_params"
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_order.rst
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]): 默认值1e-3。
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]): 默认值1e-3。
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
- **beta1** (float) - `moment1` 的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - `moment2` 的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 将添加到分母中以提高数值稳定性。必须大于0。默认值1e-8。
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True`w``m``v` 的更新将受到锁保护。如果为False则结果不可预测。默认值False。
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True使用NAG更新梯度。如果为False则在不使用NAG的情况下更新梯度。默认值False。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
- **beta1** (float) - `moment1` 的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - `moment2` 的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 将添加到分母中以提高数值稳定性。必须大于0。默认值1e-8。
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True`w``m``v` 的更新将受到锁保护。如果为False则结果不可预测。默认值False。
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True使用NAG更新梯度。如果为False则在不使用NAG的情况下更新梯度。默认值False。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
输入:
- **gradients** (tuple[Tensor]) - `params` 的梯度shape与 `params` 相同。
**输入:**
输出:
Tensor[bool]值为True。
- **gradients** (tuple[Tensor]) - `params` 的梯度shape与 `params` 相同。
**输出:**
Tensor[bool]值为True。
**异常:**
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **TypeError** - `use_locking``use_nesterov` 不是bool。
- **ValueError** - `loss_scale``eps` 不大于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
异常:
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **TypeError** - `use_locking``use_nesterov` 不是bool。
- **ValueError** - `loss_scale``eps` 不大于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。

View File

@ -43,45 +43,41 @@ mindspore.nn.AdamWeightDecay
.. include:: mindspore.nn.optim_note_loss_scale.rst
.. include:: mindspore.nn.optim_note_weight_decay.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、和"order_params"
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_order.rst
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值1e-3。
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值1e-3。
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
- **beta1** (float) - `moment1` 的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - `moment2` 的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 将添加到分母中以提高数值稳定性。必须大于0。默认值1e-6。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
- **beta1** (float) - `moment1` 的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - `moment2` 的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 将添加到分母中以提高数值稳定性。必须大于0。默认值1e-6。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
输入:
- **gradients** (tuple[Tensor]) - `params` 的梯度shape与 `params` 相同。
**输入:**
输出:
tuple[bool]所有元素都为True。
- **gradients** (tuple[Tensor]) - `params` 的梯度shape与 `params` 相同。
**输出:**
tuple[bool]所有元素都为True。
**异常:**
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `eps` 小于等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
异常:
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `eps` 小于等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
.. include:: mindspore.nn.optim_target_unique_for_sparse.rst

View File

@ -11,24 +11,20 @@ mindspore.nn.AdaptiveAvgPool1d
.. note::
:math:`L_{in}` 必须能被 `output_size` 整除。
**参数:**
参数:
- **output_size** (int) - 目标输出大小 :math:`L_{out}`
- **output_size** (int) - 目标输出大小 :math:`L_{out}`
输入:
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor数据类型为float16或float32。
**输入:**
输出:
Tensor其shape为 :math:`(N, C_{in}, L_{out})`,数据类型与 `x` 相同。
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor数据类型为float16或float32。
**输出:**
Tensor其shape为 :math:`(N, C_{in}, L_{out})`,数据类型与 `x` 相同。
**异常:**
- **TypeError** - `output_size` 不是int。
- **TypeError** - `x` 不是float16或float32。
- **ValueError** - `output_size` 小于1。
- **ValueError** - `x` 的shape长度不等于3。
- **ValueError** - `x` 的最后一个维度小于 `output_size`
- **ValueError** - `x` 的最后一个维度不能被 `output_size` 整除。
异常:
- **TypeError** - `output_size` 不是int。
- **TypeError** - `x` 不是float16或float32。
- **ValueError** - `output_size` 小于1。
- **ValueError** - `x` 的shape长度不等于3。
- **ValueError** - `x` 的最后一个维度小于 `output_size`
- **ValueError** - `x` 的最后一个维度不能被 `output_size` 整除。

View File

@ -19,21 +19,17 @@ mindspore.nn.AdaptiveAvgPool2d
* (w_{end}- w_{start})}
\end{align}
**参数:**
参数:
- **output_size** (Union[int, tuple]) - 输出特征图的尺寸为H * W。可以是int类型的H和W组成的tuple也可以为一个int值代表相同H和W或None如果是None则意味着输出大小与输入相同。
- **output_size** (Union[int, tuple]) - 输出特征图的尺寸为H * W。可以是int类型的H和W组成的tuple也可以为一个int值代表相同H和W或None如果是None则意味着输出大小与输入相同。
输入:
- **x** (Tensor) - AdaptiveAvgPool2d的输入为三维或四维的Tensor数据类型为float16、float32或者float64。
**输入:**
输出:
Tensor输出shape为 :math:`(N, C_{out}, H_{out}, W_{out})`
- **x** (Tensor) - AdaptiveAvgPool2d的输入为三维或四维的Tensor数据类型为float16、float32或者float64。
**输出:**
Tensor输出shape为 :math:`(N, C_{out}, H_{out}, W_{out})`
**异常:**
- **ValueError** - 如果 `output_size` 是tuple并且 `output_size` 的长度不是2。
- **TypeError** - 如果 `x` 不是Tensor。
- **TypeError** - 如果 `x` 的数据类型不是float16、float32或者float64。
- **ValueError** - 如果 `x` 的维度小于或等于 `output_size` 的维度。
异常:
- **ValueError** - 如果 `output_size` 是tuple并且 `output_size` 的长度不是2。
- **TypeError** - 如果 `x` 不是Tensor。
- **TypeError** - 如果 `x` 的数据类型不是float16、float32或者float64。
- **ValueError** - 如果 `x` 的维度小于或等于 `output_size` 的维度。

View File

@ -11,23 +11,19 @@ mindspore.nn.AdaptiveMaxPool1d
.. note::
:math:`L_{in}` 必须能被 `output_size` 整除。
**参数:**
参数:
- **output_size** (int) - 目标输出大小 :math:`L_{out}`
- **output_size** (int) - 目标输出大小 :math:`L_{out}`
输入:
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor数据类型为float16或float32。
**输入:**
输出:
Tensor其shape为 :math:`(N, C_{in}, L_{out})`,数据类型与 `x` 相同。
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor数据类型为float16或float32。
**输出:**
Tensor其shape为 :math:`(N, C_{in}, L_{out})`,数据类型与 `x` 相同。
**异常:**
- **TypeError** - `x` 不是float16或float32。
- **TypeError** - `output_size` 不是int。
- **ValueError** - `output_size` 小于1。
- **ValueError** - `x` 的最后一个维度小于 `output_size`
- **ValueError** - `x` 的最后一个维度不能被 `output_size` 整除。
- **ValueError** - `x` 的shape长度不等于3。
异常:
- **TypeError** - `x` 不是float16或float32。
- **TypeError** - `output_size` 不是int。
- **ValueError** - `output_size` 小于1。
- **ValueError** - `x` 的最后一个维度小于 `output_size`
- **ValueError** - `x` 的最后一个维度不能被 `output_size` 整除。
- **ValueError** - `x` 的shape长度不等于3。

View File

@ -22,26 +22,22 @@ mindspore.nn.AdaptiveMaxPool2d
.. note::
Ascend平台input_x输入仅支持float16类型。
**参数:**
参数:
- **output_size** (Union[int, tuple]) - 输出特征图的尺寸为H * W。可以是int类型的H和W组成的tuple也可以为一个int值代表相同H和W或None如果是None则意味着输出大小与输入相同。
- **return_indices** (bool) - 如果为True输出最大值的索引默认值为False。
- **output_size** (Union[int, tuple]) - 输出特征图的尺寸为H * W。可以是int类型的H和W组成的tuple也可以为一个int值代表相同H和W或None如果是None则意味着输出大小与输入相同。
- **return_indices** (bool) - 如果为True输出最大值的索引默认值为False
输入:
- **input_x** (Tensor) - AdaptiveMaxPool2d的输入为三维或四维的Tensor数据类型为float16、float32或者float64
**输入:**
输出:
Tensor数据类型与 `input_x` 相同。
- **input_x** (Tensor) - AdaptiveMaxPool2d的输入为三维或四维的Tensor数据类型为float16、float32或者float64
输出的shape为 `input_x_shape[:len(input_x_shape) - len(out_shape)] + out_shape`
**输出:**
Tensor数据类型与 `input_x` 相同。
输出的shape为 `input_x_shape[:len(input_x_shape) - len(out_shape)] + out_shape`
**异常:**
- **TypeError** - `input_x` 不是Tensor。
- **TypeError** - `input_x` 中的数据不是float16, float32, float64.
- **TypeError** - `output_size` 不是int或者tuple。
- **TypeError** - `return_indices` 不是bool。
- **ValueError** - `output_size` 是tuple但大小不是2。
- **ValueError** - `input_x` 的维度不是CHW或者NCHW。
异常:
- **TypeError** - `input_x` 不是Tensor。
- **TypeError** - `input_x` 中的数据不是float16, float32, float64.
- **TypeError** - `output_size` 不是int或者tuple。
- **TypeError** - `return_indices` 不是bool。
- **ValueError** - `output_size` 是tuple但大小不是2。
- **ValueError** - `input_x` 的维度不是CHW或者NCHW。

View File

@ -7,23 +7,19 @@ mindspore.nn.AdaptiveMaxPool3d
对于任何输入尺寸,输出的大小为 :math:`(D, H, W)` ,其中输出特征的数量与输入特征的数量相同。
**参数:**
参数:
- **output_size** (Union[int, tuple]) - 表示输出特征图的尺寸输入可以是tuple :math:`(D, H, W)`也可以是一个int值D来表示输出尺寸为 :math:`(D, D, D)`:math:`D` :math:`H`:math:`W` 可以是int型整数或者None其中None表示输出大小与对应的输入的大小相同。
- **return_indices** (bool) - 如果 `return_indices` 为True将会输出最大值对应的索引否则不输出索引。默认为False。
- **output_size** (Union[int, tuple]) - 表示输出特征图的尺寸输入可以是tuple :math:`(D, H, W)`也可以是一个int值D来表示输出尺寸为 :math:`(D, D, D)`:math:`D` :math:`H`:math:`W` 可以是int型整数或者None其中None表示输出大小与对应的输入的大小相同。
- **return_indices** (bool) - 如果 `return_indices` 为True将会输出最大值对应的索引否则不输出索引。默认为False
输入:
- **x** (Tensor) - shape为 :math:`(C, D, H, W)`:math:`(NC, D, H, W)` 的Tensor支持的数据类型包括int8、int16、int32、int64、uint8、uint16、uint32、uint64、float16、float32、float64
**输入:**
输出:
- **y** (Tensor) - Tensor与输入 `x` 的数据类型和维度相同。
- **argmax** (Tensor) - Tensor最大值对应的索引数据类型为int32并与 `y` 的shape相同。仅当 `return_indices` 为True的时候才返回该值。
- **x** (Tensor) - shape为 :math:`(C, D, H, W)`:math:`(NC, D, H, W)` 的Tensor支持的数据类型包括int8、int16、int32、int64、uint8、uint16、uint32、uint64、float16、float32、float64。
**输出:**
- **y** (Tensor) - Tensor与输入 `x` 的数据类型和维度相同。
- **argmax** (Tensor) - Tensor最大值对应的索引数据类型为int32并与 `y` 的shape相同。仅当 `return_indices` 为True的时候才返回该值。
**异常:**
- **TypeError** - `x` 不是Tensor。
- **ValueError** - `x` 的维度不是4D或者5D。
- **TypeError** - `x` 的数据类型不是int8、int16、int32、int64、uint8、uint16、uint32、uint64、float16、float32、float64其中之一。
- **ValueError** - `output_size` 不是一个int整数或者shape为(3,)的tuple。
异常:
- **TypeError** - `x` 不是Tensor。
- **ValueError** - `x` 的维度不是4D或者5D。
- **TypeError** - `x` 的数据类型不是int8、int16、int32、int64、uint8、uint16、uint32、uint64、float16、float32、float64其中之一。
- **ValueError** - `output_size` 不是一个int整数或者shape为(3,)的tuple。

View File

@ -15,26 +15,22 @@ mindspore.nn.AvgPool1d
.. note::
pad_mode仅支持"same"和"valid"。
**参数:**
参数:
- **kernel_size** (int) - 指定池化核尺寸大小数据类型为整型。默认值1。
- **stride** (int) - 池化操作的移动步长数据类型为整型。默认值1。
- **pad_mode** (str) - 指定池化的填充方式,可选值为"same"或"valid",不区分大小写。默认值:"valid"。
- **kernel_size** (int) - 指定池化核尺寸大小数据类型为整型。默认值1。
- **stride** (int) - 池化操作的移动步长数据类型为整型。默认值1。
- **pad_mode** (str) - 指定池化的填充方式,可选值为"same"或"valid",不区分大小写。默认值:"valid"。
- **same** - 输出的shape与输入整数 `stride` 后的值相同。
- **valid** - 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。
- **same** - 输出的shape与输入整数 `stride` 后的值相同。
- **valid** - 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃
输入:
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor
**输入:**
输出:
shape为 :math:`(N, C_{out}, L_{out})` 的Tensor。
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor。
**输出:**
shape为 :math:`(N, C_{out}, L_{out})` 的Tensor。
**异常:**
- **TypeError** - `kernel_size``stride` 不是int。
- **ValueError** - `pad_mode` 既不是"valid",也不是"same",不区分大小写。
- **ValueError** - `kernel_size``stride` 小于1。
- **ValueError** - `x` 的shape长度不等于3。
异常:
- **TypeError** - `kernel_size``stride` 不是int。
- **ValueError** - `pad_mode` 既不是"valid",也不是"same",不区分大小写。
- **ValueError** - `kernel_size``stride` 小于1。
- **ValueError** - `x` 的shape长度不等于3。

View File

@ -14,29 +14,25 @@ mindspore.nn.AvgPool2d
.. note::
pad_mode仅支持"same"和"valid"。
**参数:**
参数:
- **kernel_size** (Union[int, tuple[int]]) - 指定池化核尺寸大小。如果为整数则代表池化核的高和宽。如果为tuple其值必须包含两个整数值分别表示池化核的高和宽。默认值1。
- **stride** (Union[int, tuple[int]]) - 池化操作的移动步长如果为整数则代表池化核的高和宽方向的移动步长。如果为tuple其值必须包含两个整数值分别表示池化核的高和宽的移动步长。默认值1。
- **pad_mode** (str) - 指定池化填充模式,可选值为"same"或"valid",不区分大小写。默认值:"valid"。
- **kernel_size** (Union[int, tuple[int]]) - 指定池化核尺寸大小。如果为整数则代表池化核的高和宽。如果为tuple其值必须包含两个整数值分别表示池化核的高和宽。默认值1。
- **stride** (Union[int, tuple[int]]) - 池化操作的移动步长如果为整数则代表池化核的高和宽方向的移动步长。如果为tuple其值必须包含两个整数值分别表示池化核的高和宽的移动步长。默认值1。
- **pad_mode** (str) - 指定池化填充模式,可选值为"same"或"valid",不区分大小写。默认值:"valid"。
- same: 输出的宽度与输入整数 `stride` 后的值相同。
- valid: 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。
- same: 输出的宽度与输入整数 `stride` 后的值相同。
- valid: 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。
- **data_format** (str) - 输入数据格式可为'NHWC'或'NCHW'。默认值:'NCHW'。
- **data_format** (str) - 输入数据格式可为'NHWC'或'NCHW'。默认值:'NCHW'。
输入:
- **x** (Tensor) - 输入数据的shape为 :math:`(N,C_{in},H_{in},W_{in})` 的Tensor。
**输入:**
输出:
输出数据的shape为 :math:`(N,C_{out},H_{out},W_{out})` 的Tensor。
- **x** (Tensor) - 输入数据的shape为 :math:`(N,C_{in},H_{in},W_{in})` 的Tensor。
**输出:**
输出数据的shape为 :math:`(N,C_{out},H_{out},W_{out})` 的Tensor。
**异常:**
- **TypeError** - `kernel_size``strides` 既不是整数也不是元组。
- **ValueError** - `pad_mode` 既不是'valid',也不是'same',不区分大小写。
- **ValueError** - `data_format` 既不是'NCHW',也不是'NHWC'。
- **ValueError** - `kernel_size``stride` 小于1。
- **ValueError** - `x` 的shape长度不等于4。
异常:
- **TypeError** - `kernel_size``strides` 既不是整数也不是元组。
- **ValueError** - `pad_mode` 既不是'valid',也不是'same',不区分大小写。
- **ValueError** - `data_format` 既不是'NCHW',也不是'NHWC'。
- **ValueError** - `kernel_size``stride` 小于1。
- **ValueError** - `x` 的shape长度不等于4。

View File

@ -25,23 +25,19 @@ mindspore.nn.BCELoss
.. note::
预测值一般是sigmoid函数的输出因为是二分类所以目标值应是0或者1。如果输入是0或1则上述损失函数是无意义的。
**参数:**
参数:
- **weight** (Tensor, 可选) - 指定每个批次二值交叉熵的权重。与输入数据的shape和数据类型相同。默认值None。
- **reduction** (str) - 指定输出结果的计算方式。可选值有:'mean''sum',或'none'。默认值:'none'。
- **weight** (Tensor, 可选) - 指定每个批次二值交叉熵的权重。与输入数据的shape和数据类型相同。默认值None。
- **reduction** (str) - 指定输出结果的计算方式。可选值有:'mean''sum',或'none'。默认值:'none'。
输入:
- **logits** (Tensor) - 输入预测值Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。数据类型必须为float16或float32。
- **labels** (Tensor) - 输入目标值Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。与 `logits` 的shape和数据类型相同。
**输入:**
输出:
Tensor数据类型与 `logits` 相同。如果 `reduction` 为'none'则shape与 `logits` 相同。否则输出为Scalar的Tensor。
- **logits** (Tensor) - 输入预测值Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。数据类型必须为float16或float32。
- **labels** (Tensor) - 输入目标值Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。与 `logits` 的shape和数据类型相同。
**输出:**
Tensor数据类型与 `logits` 相同。如果 `reduction` 为'none'则shape与 `logits` 相同。否则输出为Scalar的Tensor。
**异常:**
- **TypeError** - `logits` 的数据类型,`labels``weight` 如果给定既不是float16也不是float32。
- **ValueError** - `reduction` 不为'none'、'mean'或'sum'。
- **ValueError** - `logits` 的shape与 `labels``weight` (如果给定)不同。
异常:
- **TypeError** - `logits` 的数据类型,`labels``weight` 如果给定既不是float16也不是float32。
- **ValueError** - `reduction` 不为'none'、'mean'或'sum'。
- **ValueError** - `logits` 的shape与 `labels``weight` (如果给定)不同。

View File

@ -22,29 +22,25 @@ mindspore.nn.BCEWithLogitsLoss
\operatorname{sum}(L), & \text{if reduction} = \text{'sum'.}
\end{cases}
**参数:**
参数:
- **reduction** (str) - 指定输出结果的计算方式。可选值有:'mean' 'sum' ,和 'none' 。如果为 'none' 则不执行reduction。默认值'mean' 。
- **weight** (Tensor, optional) - 指定每个批次二值交叉熵的权重。如果不是None将进行广播其shape与 `logits` 的shape保持一致数据类型为float16或float32。默认值None。
- **pos_weight** (Tensor, optional) - 指定正样本的权重。是一个长度等于分类数的向量。如果不是None将进行广播其shape与 `logits` 的shape保持一致数据类型必须为float16或float32。默认值None。
- **reduction** (str) - 指定输出结果的计算方式。可选值有:'mean' 'sum' ,和 'none' 。如果为 'none' 则不执行reduction。默认值'mean' 。
- **weight** (Tensor, optional) - 指定每个批次二值交叉熵的权重。如果不是None将进行广播其shape与 `logits` 的shape保持一致数据类型为float16或float32。默认值None。
- **pos_weight** (Tensor, optional) - 指定正样本的权重。是一个长度等于分类数的向量。如果不是None将进行广播其shape与 `logits` 的shape保持一致数据类型必须为float16或float32。默认值None
输入:
- **logits** (Tensor) - 输入预测值Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。数据类型必须为float16或float32
- **labels** (Tensor) - 输入目标值Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。与 `logits` 的shape和数据类型相同
**输入:**
输出:
Tensor或Scalar如果 `reduction` 为 'none'其shape需和 `logits` 相同。否则将返回Scalar。
- **logits** (Tensor) - 输入预测值Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。数据类型必须为float16或float32。
- **labels** (Tensor) - 输入目标值Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。与 `logits` 的shape和数据类型相同。
**输出:**
Tensor或Scalar如果 `reduction` 为 'none'其shape需和 `logits` 相同。否则将返回Scalar。
**异常:**
- **TypeError** - `logits``labels` 的不为Tensor。
- **TypeError** - `logits``labels` 的数据类型既不是float16也不是float32。
- **TypeError** - `weight``pos_weight` 是 Parameter。
- **TypeError** - `weight``pos_weight` 的数据类型既不是float16也不是float32。
- **TypeError** - `reduction` 的数据类型不是string。
- **ValueError** - `weight``pos_weight` 不能广播到shape为 `logits` 的Tensor。
- **ValueError** - `reduction` 不为 'none'、'mean' 或 'sum'。
异常:
- **TypeError** - `logits``labels` 的不为Tensor。
- **TypeError** - `logits``labels` 的数据类型既不是float16也不是float32。
- **TypeError** - `weight``pos_weight` 是 Parameter。
- **TypeError** - `weight``pos_weight` 的数据类型既不是float16也不是float32。
- **TypeError** - `reduction` 的数据类型不是string。
- **ValueError** - `weight``pos_weight` 不能广播到shape为 `logits` 的Tensor。
- **ValueError** - `reduction` 不为 'none'、'mean' 或 'sum'。

View File

@ -15,29 +15,25 @@ mindspore.nn.BatchNorm1d
.. note::
BatchNorm的实现在图模式和PyNative模式下是不同的因此不建议在网络初始化后更改其模式。
**参数:**
参数:
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N, C)` 中的 `C`
- **eps** (float) - :math:`\epsilon` 加在分母上的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.9。
- **affine** (bool) - bool类型。设置为True时可学习到 :math:`\gamma`:math:`\beta` 值。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\gamma` 参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\beta` 参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_mean_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态平均值的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_var_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态方差的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **use_batch_statistics** (bool) - 如果为True则使用当前批次数据的平均值和方差值。如果为False则使用指定的平均值和方差值。如果为None训练时将使用当前批次数据的均值和方差并更新动态均值和方差验证过程将直接使用动态均值和方差。默认值None。
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N, C)` 中的 `C`
- **eps** (float) - :math:`\epsilon` 加在分母上的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.9。
- **affine** (bool) - bool类型。设置为True时可学习到 :math:`\gamma`:math:`\beta` 值。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\gamma` 参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\beta` 参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_mean_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态平均值的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_var_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态方差的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **use_batch_statistics** (bool) - 如果为True则使用当前批次数据的平均值和方差值。如果为False则使用指定的平均值和方差值。如果为None训练时将使用当前批次数据的均值和方差并更新动态均值和方差验证过程将直接使用动态均值和方差。默认值None。
输入:
- **x** (Tensor) - 输入shape为 :math:`(N, C_{in})` 的Tensor。
**输入:**
输出:
Tensor归一化后的Tensorshape为 :math:`(N, C_{out})`
- **x** (Tensor) - 输入shape为 :math:`(N, C_{in})` 的Tensor。
**输出:**
Tensor归一化后的Tensorshape为 :math:`(N, C_{out})`
**异常:**
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 不是浮点数。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
异常:
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 不是浮点数。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。

View File

@ -21,34 +21,30 @@ mindspore.nn.BatchNorm2d
其中, :math:`moving\_mean` 是更新后的均值, :math:`moving\_var` 是更新后的方差, :math:`μ_β, σ^2_β` 是每一批的数据的观测值(均值和方差)。
**参数:**
参数:
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N, C, H, W)` 中的 `C`
- **eps** (float) - :math:`\epsilon` 加在分母上的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.9。
- **affine** (bool) - bool类型。设置为True时可学习 :math:`\gamma`:math:`\beta` 值。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\gamma` 参数的初始化方法。str的值引用自函数 `mindspore.common.initializer`,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\beta` 参数的初始化方法。str的值引用自函数 `mindspore.common.initializer`,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_mean_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态平均值的初始化方法。str的值引用自函数 `mindspore.common.initializer`,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_var_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态方差的初始化方法。str的值引用自函数 `mindspore.common.initializer`,包括'zeros'、'ones'等。默认值:'ones'。
- **use_batch_statistics** (bool)
- 如果为True则使用当前批处理数据的平均值和方差值并跟踪运行平均值和运行方差。
- 如果为False则使用指定值的平均值和方差值不跟踪统计值。
- 如果为None则根据训练和验证模式自动设置 `use_batch_statistics` 为True或False。在训练时 `use_batch_statistics会` 设置为True。在验证时 `use_batch_statistics` 会自动设置为False。默认值None。
- **data_format** (str) - 数据格式可为'NHWC'或'NCHW'。默认值:'NCHW'。
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N, C, H, W)` 中的 `C`
- **eps** (float) - :math:`\epsilon` 加在分母上的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.9。
- **affine** (bool) - bool类型。设置为True时可学习 :math:`\gamma`:math:`\beta` 值。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\gamma` 参数的初始化方法。str的值引用自函数 `mindspore.common.initializer`,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\beta` 参数的初始化方法。str的值引用自函数 `mindspore.common.initializer`,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_mean_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态平均值的初始化方法。str的值引用自函数 `mindspore.common.initializer`,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_var_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态方差的初始化方法。str的值引用自函数 `mindspore.common.initializer`,包括'zeros'、'ones'等。默认值:'ones'。
- **use_batch_statistics** (bool)
- 如果为True则使用当前批处理数据的平均值和方差值并跟踪运行平均值和运行方差。
- 如果为False则使用指定值的平均值和方差值不跟踪统计值。
- 如果为None则根据训练和验证模式自动设置 `use_batch_statistics` 为True或False。在训练时 `use_batch_statistics会` 设置为True。在验证时 `use_batch_statistics` 会自动设置为False。默认值None。
- **data_format** (str) - 数据格式可为'NHWC'或'NCHW'。默认值:'NCHW'。
输入:
- **x** (Tensor) - 输入shape为 :math:`(N,C_{in},H_{in},W_{in})` 的Tensor。
**输入:**
输出:
Tensor归一化后的Tensorshape为 :math:`(N,C_{out},H_{out},W_{out})`
- **x** (Tensor) - 输入shape为 :math:`(N,C_{in},H_{in},W_{in})` 的Tensor。
**输出:**
Tensor归一化后的Tensorshape为 :math:`(N,C_{out},H_{out},W_{out})`
**异常:**
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 不是浮点数。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **ValueError** - `data_format` 既不是'NHWC'也不是'NCHW'。
异常:
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 不是浮点数。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **ValueError** - `data_format` 既不是'NHWC'也不是'NCHW'。

View File

@ -15,31 +15,27 @@ mindspore.nn.BatchNorm3d
需要注意的是更新running_mean和running_var的公式为 :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times x_t + \text{momentum} \times \hat{x}` ,其中 :math:`\hat{x}` 是估计的统计量, :math:`x_t` 是新的观察值。
**参数:**
参数:
- **num_features** (int) - 指定输入Tensor的通道数量。输入Tensor的size为(N, C, D, H, W)。
- **eps** (float) - 加在分母上的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.9。
- **affine** (bool) - bool类型。设置为True时可以学习gama和beta。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_mean_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态均值和动态方差所使用的动量。平均值的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_var_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态均值和动态方差所使用的动量。方差的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **use_batch_statistics** (bool) - 如果为True则使用当前批次数据的平均值和方差值。如果为False则使用指定的平均值和方差值。如果为None训练时将使用当前批次数据的均值和方差并更新动态均值和方差验证过程将直接使用动态均值和方差。默认值None。
- **data_format** (str) - 数据格式的可选值为'NCDHW'。默认值:'NCDHW'。
- **num_features** (int) - 指定输入Tensor的通道数量。输入Tensor的size为(N, C, D, H, W)。
- **eps** (float) - 加在分母上的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.9。
- **affine** (bool) - bool类型。设置为True时可以学习gama和beta。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_mean_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态均值和动态方差所使用的动量。平均值的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **moving_var_init** (Union[Tensor, str, Initializer, numbers.Number]) - 动态均值和动态方差所使用的动量。方差的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **use_batch_statistics** (bool) - 如果为True则使用当前批次数据的平均值和方差值。如果为False则使用指定的平均值和方差值。如果为None训练时将使用当前批次数据的均值和方差并更新动态均值和方差验证过程将直接使用动态均值和方差。默认值None。
- **data_format** (str) - 数据格式的可选值为'NCDHW'。默认值:'NCDHW'。
输入:
- **x** (Tensor) - 输入shape为 :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。
**输入:**
输出:
Tensor归一化后的Tensorshape为 :math:`(N, C_{out}, D_{out},H_{out}, W_{out})`
- **x** (Tensor) - 输入shape为 :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。
**输出:**
Tensor归一化后的Tensorshape为 :math:`(N, C_{out}, D_{out},H_{out}, W_{out})`
**异常:**
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 不是浮点数。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **ValueError** - `data_format` 不是'NCDHW'。
异常:
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 不是浮点数。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **ValueError** - `data_format` 不是'NCDHW'。

View File

@ -12,40 +12,35 @@ mindspore.nn.BiDense
其中 :math:`x_{1}` 是第一个输入Tensor:math:`x_{2}` 是第二个输入Tensor:math:`A` 是一个权重矩阵,其数据类型与 :math:`x_{*}` 相同, :math:`b` 是一个偏置向量,其数据类型与 :math:`x_{*}` 相同仅当has_bias为True时
**参数:**
参数:
- **in1_channels** (int) - BiDense层第一个输入Tensor的空间维度。
- **in2_channels** (int) - BiDense层第二个输入Tensor的空间维度。
- **out_channels** (int) - BiDense层输出Tensor的空间维度。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。str的值引用自函数 `initializer`。默认值None。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。str的值引用自函数 `initializer`。默认值None。
- **has_bias** (bool) - 是否使用偏置向量 :math:`\text{bias}` 。默认值True。
- **in1_channels** (int) - BiDense层第一个输入Tensor的空间维度。
- **in2_channels** (int) - BiDense层第二个输入Tensor的空间维度。
- **out_channels** (int) - BiDense层输出Tensor的空间维度。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。str的值引用自函数 `initializer`。默认值None。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。str的值引用自函数 `initializer`。默认值None。
- **has_bias** (bool) - 是否使用偏置向量 :math:`\text{bias}` 。默认值True。
形状:
- **input1** - :math:`(*, H_{in1})`,其中 :math:`H_{in1}=\text{in1_channels}`
:math:`*` 为任意维度. input1除最后一维外的维度需与其他输入保持一致。
- **input2** - :math:`(*, H_{in2})`,其中 :math:`H_{in2}=\text{in2_channels}`
:math:`*` 为任意维度. input2除最后一维外的维度需与其他输入保持一致。
- **output** - :math:`(*, H_{out})`,其中 :math:`H_{out}=\text{out_channels}`
:math:`*` 为任意维度. output除最后一维外的维度需与所有输入保持一致。
**形状:**
数据类型:
- **input1** (Tensor) - 数据类型必须为float16或float32且与input2一致。
- **input2** (Tensor) - 数据类型必须为float16或float32且与input1一致。
- **output** (Tensor) - 数据类型与输入保持一致。
- **input1** - :math:`(*, H_{in1})`,其中 :math:`H_{in1}=\text{in1_channels}`
:math:`*` 为任意维度. input1除最后一维外的维度需与其他输入保持一致。
- **input2** - :math:`(*, H_{in2})`,其中 :math:`H_{in2}=\text{in2_channels}`
:math:`*` 为任意维度. input2除最后一维外的维度需与其他输入保持一致。
- **output** - :math:`(*, H_{out})`,其中 :math:`H_{out}=\text{out_channels}`
:math:`*` 为任意维度. output除最后一维外的维度需与所有输入保持一致。
权重:
- **weight** (Parameter) - 权重参数shape为 :math:`(\text{out_channels}, \text{in1_channels}, \text{in2_channels})`
`weight_init` 设为 `None` 时,其初始化值服从 :math:`\mathcal{U}(-\sqrt{k}, \sqrt{k})`,其中 :math:`k = \frac{1}{\text{in1_channels}}`
- **bias** (Parameter) - 偏置参数shape为 :math:`(\text{out_channels})`
`has_bias` 设为 `True``bias_init` 设为 `None` 时,其初始化值服从 :math:`\mathcal{U}(-\sqrt{k}, \sqrt{k})`,其中 :math:`k = \frac{1}{\text{in1_channels}}`
**数据类型:**
- **input1** (Tensor) - 数据类型必须为float16或float32且与input2一致。
- **input2** (Tensor) - 数据类型必须为float16或float32且与input1一致。
- **output** (Tensor) - 数据类型与输入保持一致。
**权重:**
- **weight** (Parameter) - 权重参数shape为 :math:`(\text{out_channels}, \text{in1_channels}, \text{in2_channels})`
`weight_init` 设为 `None` 时,其初始化值服从 :math:`\mathcal{U}(-\sqrt{k}, \sqrt{k})`,其中 :math:`k = \frac{1}{\text{in1_channels}}`
- **bias** (Parameter) - 偏置参数shape为 :math:`(\text{out_channels})`
`has_bias` 设为 `True``bias_init` 设为 `None` 时,其初始化值服从 :math:`\mathcal{U}(-\sqrt{k}, \sqrt{k})`,其中 :math:`k = \frac{1}{\text{in1_channels}}`
**异常:**
- **TypeError** - `in_channels``out_channels` 不是整数。
- **TypeError** - `has_bias` 不是bool值。
- **ValueError** - `weight_init` 的shape长度不等于3`weight_init` 的shape[0]不等于 `out_channels`,或者 `weight_init` 的shape[1]不等于 `in1_channels`,或者 `weight_init` 的shape[2]不等于 `in2_channels`
- **ValueError** - `bias_init` 的shape长度不等于1或 `bias_init` 的shape[0]不等于 `out_channels`
异常:
- **TypeError** - `in_channels``out_channels` 不是整数。
- **TypeError** - `has_bias` 不是bool值。
- **ValueError** - `weight_init` 的shape长度不等于3`weight_init` 的shape[0]不等于 `out_channels`,或者 `weight_init` 的shape[1]不等于 `in1_channels`,或者 `weight_init` 的shape[2]不等于 `in2_channels`
- **ValueError** - `bias_init` 的shape长度不等于1或 `bias_init` 的shape[0]不等于 `out_channels`

View File

@ -5,14 +5,12 @@ mindspore.nn.BleuScore
计算具有一个或多个引用的机器翻译文本的BLEU分数。
**参数:**
参数:
- **n_gram** (int) - 取值范围为1~4。默认值4。
- **smooth** (bool) - 是否采用平滑计算的方式。默认值False。
- **n_gram** (int) - 取值范围为1~4。默认值4。
- **smooth** (bool) - 是否采用平滑计算的方式。默认值False。
**异常:**
- **ValueError** - `n_gram` 的取值范围不在1~4之间。
异常:
- **ValueError** - `n_gram` 的取值范围不在1~4之间。
.. py:method:: clear()
@ -22,23 +20,19 @@ mindspore.nn.BleuScore
计算BLEU分数。
**返回:**
返回:
numpy.ndarraynumpy类型的BLEU分数。
numpy.ndarraynumpy类型的BLEU分数。
**异常:**
- **RuntimeError** - 调用该方法前没有先调用update方法。
异常:
- **RuntimeError** - 调用该方法前没有先调用update方法。
.. py:method:: update(*inputs)
使用输入的内容更新内部评估结果。
**参数:**
参数:
- ***inputs** (tuple) - 输入的元组,第一个输入是机器翻译语料库列表,第二个输入是引用语料库列表。
- ***inputs** (tuple) - 输入的元组,第一个输入是机器翻译语料库列表,第二个输入是引用语料库列表。
**异常:**
- **ValueError** - 输入参数的数量不等于2。
- **ValueError** - `candidate_corpus` 的长度与 `reference_corpus` 不同。
异常:
- **ValueError** - 输入参数的数量不等于2。
- **ValueError** - `candidate_corpus` 的长度与 `reference_corpus` 不同。

View File

@ -7,10 +7,9 @@
`mindspore.nn` 中神经网络层也是Cell的子类:class:`mindspore.nn.Conv2d`:class:`mindspore.nn.ReLU`:class:`mindspore.nn.BatchNorm` 等。Cell在GRAPH_MODE(静态图模式)下将编译为一张计算图在PYNATIVE_MODE(动态图模式)下作为神经网络的基础模块。
**参数:**
- **auto_prefix** (bool) - 是否自动为Cell及其子Cell生成NameSpace。`auto_prefix` 的设置影响网络参数的命名如果设置为True则自动给网络参数的名称添加前缀否则不添加前缀。默认值True。
- **flags** (dict) - Cell的配置信息目前用于绑定Cell和数据集。用户也通过该参数自定义Cell属性。默认值None。
参数:
- **auto_prefix** (bool) - 是否自动为Cell及其子Cell生成NameSpace。`auto_prefix` 的设置影响网络参数的命名如果设置为True则自动给网络参数的名称添加前缀否则不添加前缀。默认值True。
- **flags** (dict) - Cell的配置信息目前用于绑定Cell和数据集。用户也通过该参数自定义Cell属性。默认值None。
.. py:method:: add_flags(**flags)
@ -18,37 +17,32 @@
在实例化Cell类时如果入参flags不为空会调用此方法。
**参数:**
- **flags** (dict) - Cell的配置信息目前用于绑定Cell和数据集。用户也通过该参数自定义Cell属性。默认值None。
参数:
- **flags** (dict) - Cell的配置信息目前用于绑定Cell和数据集。用户也通过该参数自定义Cell属性。默认值None。
.. py:method:: add_flags_recursive(**flags)
如果Cell含有多个子Cell此方法会递归得给所有子Cell添加自定义属性。
**参数:**
- **flags** (dict) - Cell的配置信息目前用于绑定Cell和数据集。用户也通过该参数自定义Cell属性。默认值None。
参数:
- **flags** (dict) - Cell的配置信息目前用于绑定Cell和数据集。用户也通过该参数自定义Cell属性。默认值None。
.. py:method:: auto_cast_inputs(inputs)
在混合精度下,自动对输入进行类型转换。
**参数:**
参数:
- **inputs** (tuple) - construct方法的输入。
- **inputs** (tuple) - construct方法的输入。
**返回:**
Tuple类型经过类型转换后的输入。
返回:
Tuple类型经过类型转换后的输入。
.. py:method:: auto_parallel_compile_and_run()
是否在AUTO_PARALLELSEMI_AUTO_PARALLEL模式下执行编译流程。
**返回:**
bool`_auto_parallel_compile_and_run` 的值。
返回:
bool`_auto_parallel_compile_and_run` 的值。
.. py:method:: bprop_debug
:property:
@ -59,14 +53,12 @@
将输入转换为指定类型。
**参数:**
参数:
- **inputs** (tuple[Tensor]) - 输入。
- **dst_type** (mindspore.dtype) - 指定的数据类型。
- **inputs** (tuple[Tensor]) - 输入。
- **dst_type** (mindspore.dtype) - 指定的数据类型。
**返回:**
tuple[Tensor]类型,转换类型后的结果。
返回:
tuple[Tensor]类型,转换类型后的结果。
.. py:method:: cast_param(param)
@ -74,34 +66,29 @@
该接口目前在自动混合精度场景下使用。
**参数:**
参数:
- **param** (Parameter) - 需要被转换类型的输入参数。
- **param** (Parameter) - 需要被转换类型的输入参数。
**返回:**
Parameter类型转换类型后的参数。
返回:
Parameter类型转换类型后的参数。
.. py:method:: cells()
返回当前Cell的子Cell的迭代器。
**返回:**
Iteration类型Cell的子Cell。
返回:
Iteration类型Cell的子Cell。
.. py:method:: cells_and_names(cells=None, name_prefix='')
递归地获取当前Cell及输入 `cells` 的所有子Cell的迭代器包括Cell的名称及其本身。
**参数:**
参数:
- **cells** (str) - 需要进行迭代的Cell。默认值None。
- **name_prefix** (str) - 作用域。默认值:''。
- **cells** (str) - 需要进行迭代的Cell。默认值None。
- **name_prefix** (str) - 作用域。默认值:''。
**返回:**
Iteration类型当前Cell及输入 `cells` 的所有子Cell和相对应的名称。
返回:
Iteration类型当前Cell及输入 `cells` 的所有子Cell和相对应的名称。
.. py:method:: check_names()
@ -111,9 +98,8 @@
编译Cell为计算图输入需与construct中定义的输入一致。
**参数:**
- **inputs** (tuple) - Cell的输入。
参数:
- **inputs** (tuple) - Cell的输入。
.. py:method:: compile_and_run(*inputs)
@ -122,13 +108,11 @@
.. note::
不推荐使用该函数建议直接调用Cell实例。
**参数:**
参数:
- **inputs** (tuple) - Cell的输入。
- **inputs** (tuple) - Cell的输入。
**返回:**
Object类型执行的结果。
返回:
Object类型执行的结果。
.. py:method:: construct(*inputs, **kwargs)
@ -137,14 +121,12 @@
.. note::
当前不支持inputs同时输入tuple类型和非tuple类型。
**参数:**
参数:
- **inputs** (tuple) - 可变参数列表,默认值:()。
- **kwargs** (dict) - 可变的关键字参数的字典,默认值:{}。
- **inputs** (tuple) - 可变参数列表,默认值:()。
- **kwargs** (dict) - 可变的关键字参数的字典,默认值:{}。
**返回:**
Tensor类型返回计算结果。
返回:
Tensor类型返回计算结果。
.. py:method:: exec_checkpoint_graph()
@ -165,9 +147,8 @@
将一个大的连续内存块分为多个小一点的内存块有可能提升性能,对于这种情况,
可以通过 `fusion_size` 参数来限制最大连续内存块的的大小。
**参数:**
- **fusion_size** (int) - 最大连续内存块的大小以字节为单位0表示不限制大小。默认值0。
参数:
- **fusion_size** (int) - 最大连续内存块的大小以字节为单位0表示不限制大小。默认值0。
.. py:method:: generate_scope()
@ -185,9 +166,8 @@
返回编译计算图所设置的输入。
**返回:**
Tuple类型编译计算图所设置的输入。
返回:
Tuple类型编译计算图所设置的输入。
.. note::
这是一个实验接口,可能会被更改或者删除。
@ -196,21 +176,18 @@
返回Cell中parameter的迭代器。
**参数:**
参数:
- **expand** (bool) - 如果为True则递归地获取当前Cell和所有子Cell的parameter。否则只生成当前Cell的子Cell的parameter。默认值True。
- **expand** (bool) - 如果为True则递归地获取当前Cell和所有子Cell的parameter。否则只生成当前Cell的子Cell的parameter。默认值True。
**返回:**
Iteration类型Cell的parameter。
返回:
Iteration类型Cell的parameter。
.. py:method:: get_scope()
返回Cell的作用域。
**返回:**
String类型网络的作用域。
返回:
String类型网络的作用域。
.. py:method:: infer_param_pipeline_stage()
@ -220,13 +197,11 @@
- 如果某参数不属于任何已被设置 `pipeline_stage` 的Cell此参数应使用 `add_pipeline_stage` 方法来添加它的 `pipeline_stage` 信息。
- 如果某参数P被stageA和stageB两个不同stage的算子使用那么参数P在使用 `infer_param_pipeline_stage` 之前,应使用 `P.add_pipeline_stage(stageA)``P.add_pipeline_stage(stageB)` 添加它的stage信息。
**返回:**
返回:
属于当前 `pipeline_stage` 的参数。
属于当前 `pipeline_stage` 的参数。
**异常:**
- **RuntimeError** - 如果参数不属于任何stage。
异常:
- **RuntimeError** - 如果参数不属于任何stage。
.. py:method:: init_parameters_data(auto_parallel_mode=False)
@ -235,27 +210,23 @@
.. note::
在调用 `init_parameters_data` 后,`trainable_params()` 或其他相似的接口可能返回不同的参数对象,不要保存这些结果。
**参数:**
参数:
- **auto_parallel_mode** (bool) - 是否在自动并行模式下执行。 默认值False。
- **auto_parallel_mode** (bool) - 是否在自动并行模式下执行。 默认值False。
**返回:**
Dict[Parameter, Parameter],返回一个原始参数和替换参数的字典。
返回:
Dict[Parameter, Parameter],返回一个原始参数和替换参数的字典。
.. py:method:: insert_child_to_cell(child_name, child_cell)
将一个给定名称的子Cell添加到当前Cell。
**参数:**
参数:
- **child_name** (str) - 子Cell名称。
- **child_cell** (Cell) - 要插入的子Cell。
- **child_name** (str) - 子Cell名称。
- **child_cell** (Cell) - 要插入的子Cell。
**异常:**
- **KeyError** - 如果子Cell的名称不正确或与其他子Cell名称重复。
- **TypeError** - 如果子Cell的类型不正确。
异常:
- **KeyError** - 如果子Cell的名称不正确或与其他子Cell名称重复。
- **TypeError** - 如果子Cell的类型不正确。
.. py:method:: insert_param_to_cell(param_name, param, check_name_contain_dot=True)
@ -263,16 +234,14 @@
将指定名称的参数添加到Cell中。目前在 `mindspore.nn.Cell.__setattr__` 中使用。
**参数:**
参数:
- **param_name** (str) - 参数名称。
- **param** (Parameter) - 要插入到Cell的参数。
- **check_name_contain_dot** (bool) - 是否对 `param_name` 中的"."进行检查。默认值True。
- **param_name** (str) - 参数名称。
- **param** (Parameter) - 要插入到Cell的参数。
- **check_name_contain_dot** (bool) - 是否对 `param_name` 中的"."进行检查。默认值True。
**异常:**
- **KeyError** - 如果参数名称为空或包含"."。
- **TypeError** - 如果参数的类型不是Parameter。
异常:
- **KeyError** - 如果参数名称为空或包含"."。
- **TypeError** - 如果参数的类型不是Parameter。
.. py:method:: load_parameter_slice(params)
@ -280,9 +249,8 @@
请参考 `mindspore.common._Executor.compile` 源代码中的用法。
**参数:**
- **params** (dict) - 用于初始化数据图的参数字典。
参数:
- **params** (dict) - 用于初始化数据图的参数字典。
.. py:method:: name_cells()
@ -290,9 +258,8 @@
包括Cell名称和Cell本身。
**返回:**
Dict[String, Cell]Cell中的所有子Cell及其名称。
返回:
Dict[String, Cell]Cell中的所有子Cell及其名称。
.. py:method:: param_prefix
:property:
@ -310,38 +277,32 @@
包含参数名称和参数本身。
**参数:**
参数:
- **name_prefix** (str) - 作用域。默认值: ''。
- **expand** (bool) - 如果为True则递归地获取当前Cell和所有子Cell的参数及名称如果为False只生成当前Cell的子Cell的参数及名称。默认值True。
- **name_prefix** (str) - 作用域。默认值: ''。
- **expand** (bool) - 如果为True则递归地获取当前Cell和所有子Cell的参数及名称如果为False只生成当前Cell的子Cell的参数及名称。默认值True。
**返回:**
迭代器Cell的名称和Cell本身。
返回:
迭代器Cell的名称和Cell本身。
.. py:method:: parameters_broadcast_dict(recurse=True)
获取这个Cell的参数广播字典。
**参数:**
参数:
- **recurse** (bool) - 是否包含子Cell的参数。 默认值True。
- **recurse** (bool) - 是否包含子Cell的参数。 默认值True。
**返回:**
OrderedDict返回参数广播字典。
返回:
OrderedDict返回参数广播字典。
.. py:method:: parameters_dict(recurse=True)
获取此Cell的parameter字典。
**参数:**
参数:
- **recurse** (bool) - 是否递归得包含所有子Cell的parameter。默认值True。
- **recurse** (bool) - 是否递归得包含所有子Cell的parameter。默认值True。
**返回:**
OrderedDict类型返回参数字典。
返回:
OrderedDict类型返回参数字典。
.. py:method:: recompute(**kwargs)
@ -355,10 +316,9 @@
- 当应用了重计算且内存充足时,可以配置'mp_comm_recompute=False'来提升性能。
- 当应用了重计算但内存不足时,可以配置'parallel_optimizer_comm_recompute=True'来节省内存。有相同融合group的Cell应该配置相同的parallel_optimizer_comm_recompute。
**参数:**
- **mp_comm_recompute** (bool) - 表示在自动并行或半自动并行模式下指定Cell内部由模型并行引入的通信操作是否重计算。默认值True。
- **parallel_optimizer_comm_recompute** (bool) - 表示在自动并行或半自动并行模式下指定Cell内部由优化器并行引入的AllGather通信是否重计算。默认值False。
参数:
- **mp_comm_recompute** (bool) - 表示在自动并行或半自动并行模式下指定Cell内部由模型并行引入的通信操作是否重计算。默认值True。
- **parallel_optimizer_comm_recompute** (bool) - 表示在自动并行或半自动并行模式下指定Cell内部由优化器并行引入的AllGather通信是否重计算。默认值False。
.. py:method:: register_backward_hook(hook_fn)
@ -371,17 +331,14 @@
- 为了避免脚本在切换到图模式时运行失败不建议在Cell对象的 `construct` 函数中调用 `register_backward_hook(hook_fn)`
- PyNative模式下如果在Cell对象的 `construct` 函数中调用 `register_backward_hook(hook_fn)` 那么Cell对象每次运行都将增加一个 `hook_fn`
**参数:**
参数:
- **hook_fn** (function) - 捕获Cell对象信息和反向输入输出梯度的hook_fn函数。
- **hook_fn** (function) - 捕获Cell对象信息和反向输入输出梯度的hook_fn函数。
返回:
`mindspore.common.hook_handle.HookHandle` 类型,与 `hook_fn` 函数对应的 `handle` 对象。可通过调用 `handle.remove()` 来删除添加的 `hook_fn` 函数。
**返回:**
`mindspore.common.hook_handle.HookHandle` 类型,与 `hook_fn` 函数对应的 `handle` 对象。可通过调用 `handle.remove()` 来删除添加的 `hook_fn` 函数。
**异常:**
- **TypeError** - 如果 `hook_fn` 不是Python函数。
异常:
- **TypeError** - 如果 `hook_fn` 不是Python函数。
.. py:method:: register_forward_hook(hook_fn)
@ -394,17 +351,14 @@
- 为了避免脚本在切换到图模式时运行失败不建议在Cell对象的 `construct` 函数中调用 `register_forward_hook(hook_fn)`
- PyNative模式下如果在Cell对象的 `construct` 函数中调用 `register_forward_hook(hook_fn)` 那么Cell对象每次运行都将增加一个 `hook_fn`
**参数:**
参数:
- **hook_fn** (function) - 捕获Cell对象信息和正向输入输出数据的hook_fn函数。
- **hook_fn** (function) - 捕获Cell对象信息和正向输入输出数据的hook_fn函数。
返回:
`mindspore.common.hook_handle.HookHandle` 类型,与 `hook_fn` 函数对应的 `handle` 对象。可通过调用 `handle.remove()` 来删除添加的 `hook_fn` 函数。
**返回:**
`mindspore.common.hook_handle.HookHandle` 类型,与 `hook_fn` 函数对应的 `handle` 对象。可通过调用 `handle.remove()` 来删除添加的 `hook_fn` 函数。
**异常:**
- **TypeError** - 如果 `hook_fn` 不是Python函数。
异常:
- **TypeError** - 如果 `hook_fn` 不是Python函数。
.. py:method:: register_forward_pre_hook(hook_fn)
@ -417,17 +371,14 @@
- 为了避免脚本在切换到图模式时运行失败不建议在Cell对象的 `construct` 函数中调用 `register_forward_pre_hook(hook_fn)`
- PyNative模式下如果在Cell对象的 `construct` 函数中调用 `register_forward_pre_hook(hook_fn)` 那么Cell对象每次运行都将增加一个 `hook_fn`
**参数:**
参数:
- **hook_fn** (function) - 捕获Cell对象信息和正向输入数据的hook_fn函数。
- **hook_fn** (function) - 捕获Cell对象信息和正向输入数据的hook_fn函数。
返回:
`mindspore.common.hook_handle.HookHandle` 类型,与 `hook_fn` 函数对应的 `handle` 对象。可通过调用 `handle.remove()` 来删除添加的 `hook_fn` 函数。
**返回:**
`mindspore.common.hook_handle.HookHandle` 类型,与 `hook_fn` 函数对应的 `handle` 对象。可通过调用 `handle.remove()` 来删除添加的 `hook_fn` 函数。
**异常:**
- **TypeError** - 如果 `hook_fn` 不是Python函数。
异常:
- **TypeError** - 如果 `hook_fn` 不是Python函数。
.. py:method:: remove_redundant_parameters()
@ -442,14 +393,12 @@
.. note::
该函数已经弃用,将会在未来版本中删除,不推荐使用此函数。
**参数:**
参数:
- **cast_inputs** (tuple) - Cell的输入。
- **kwargs** (dict) - 关键字参数。
- **cast_inputs** (tuple) - Cell的输入。
- **kwargs** (dict) - 关键字参数。
**返回:**
Cell的输出。
返回:
Cell的输出。
.. py:method:: set_auto_parallel()
@ -461,14 +410,13 @@
为Cell设置编译时所使用的JitConfig配置项。
**参数:**
- **jit_config** (JitConfig) - Cell的Jit配置信息。目前支持下面两个配置项。
- **jit_level** (str) - 用于设置优化图的'level'参数。 取值范围['O0'、'O1'、'O2']。默认值:'O1'。
参数:
- **jit_config** (JitConfig) - Cell的Jit配置信息。目前支持下面两个配置项。
- **jit_level** (str) - 用于设置优化图的'level'参数。 取值范围['O0'、'O1'、'O2']。默认值:'O1'。
- **O0** :基本优化。
- **O1** :手动优化。
- **O2** :手动优化和图算融合。
- **task_sink** (bool) - 是否通过数据集方式传递数据。默认值True。
- **task_sink** (bool) - 是否通过数据集方式传递数据。默认值True。
.. py:method:: set_boost(boost_type)
@ -479,25 +427,21 @@
.. note:: 部分加速算法可能影响网络精度,请谨慎选择。
**参数:**
参数:
- **boost_type** (str) - 加速算法。
- **boost_type** (str) - 加速算法。
返回:
Cell类型Cell本身。
**返回:**
Cell类型Cell本身。
**异常:**
- **ValueError** - 如果 `boost_type` 不在boost算法库内。
异常:
- **ValueError** - 如果 `boost_type` 不在boost算法库内。
.. py:method:: set_broadcast_flag(mode=True)
设置该Cell的参数广播模式。
**参数:**
- **mode** (bool) - 指定当前模式是否进行参数广播。默认值True。
参数:
- **mode** (bool) - 指定当前模式是否进行参数广播。默认值True。
.. py:method:: set_comm_fusion(fusion_type, recurse=True)
@ -505,10 +449,9 @@
.. note:: 当函数被多次调用时,此属性值将被重写。
**参数:**
- **fusion_type** (int) - Parameter的 `comm_fusion` 属性的设置值。
- **recurse** (bool) - 是否递归地设置子Cell的可训练参数。默认值True。
参数:
- **fusion_type** (int) - Parameter的 `comm_fusion` 属性的设置值。
- **recurse** (bool) - 是否递归地设置子Cell的可训练参数。默认值True。
.. py:method:: set_data_parallel()
@ -520,22 +463,19 @@
Cell的梯度设置。在PyNative模式下该参数指定Cell是否需要梯度。如果为True则在执行正向网络时将生成需要计算梯度的反向网络。
**参数:**
参数:
- **requires_grad** (bool) - 指定网络是否需要梯度如果为TruePyNative模式下Cell将构建反向网络。默认值True。
- **requires_grad** (bool) - 指定网络是否需要梯度如果为TruePyNative模式下Cell将构建反向网络。默认值True。
**返回:**
Cell类型Cell本身。
返回:
Cell类型Cell本身。
.. py:method:: set_inputs(*inputs)
设置编译计算图所需的输入输入需与数据一致。若使用Model接口请确保所有传入Model的网络和损失函数都配置了set_inputs。
输入可以为动态或静态的Tensor。
**参数:**
- **inputs** (tuple) - Cell的输入。
参数:
- **inputs** (tuple) - Cell的输入。
.. note::
这是一个实验接口,可能会被更改或者删除。
@ -544,19 +484,17 @@
通过并行策略对输入张量进行切分。
**参数:**
- **inputs** (tuple) - construct方法的输入。
参数:
- **inputs** (tuple) - construct方法的输入。
.. py:method:: set_param_fl(push_to_server=False, pull_from_server=False, requires_aggr=True)
设置参数与服务器交互的方式。
**参数:**
- **push_to_server** (bool) - 是否将参数推送到服务器。默认值False。
- **pull_from_server** (bool) - 是否从服务器提取参数。默认值False。
- **requires_aggr** (bool) - 是否在服务器中聚合参数。默认值True。
参数:
- **push_to_server** (bool) - 是否将参数推送到服务器。默认值False。
- **pull_from_server** (bool) - 是否从服务器提取参数。默认值False。
- **requires_aggr** (bool) - 是否在服务器中聚合参数。默认值True。
.. py:method:: set_param_ps(recurse=True, init_in_server=False)
@ -564,10 +502,9 @@
.. note:: 只在运行的任务处于参数服务器模式时有效。
**参数:**
- **recurse** (bool) - 是否设置子网络的可训练参数。默认值True。
- **init_in_server** (bool) - 是否在服务器上初始化由参数服务器更新的可训练参数。默认值False。
参数:
- **recurse** (bool) - 是否设置子网络的可训练参数。默认值True。
- **init_in_server** (bool) - 是否在服务器上初始化由参数服务器更新的可训练参数。默认值False。
.. py:method:: set_train(mode=True)
@ -575,13 +512,11 @@
设置当前Cell和所有子Cell的训练模式。对于训练和预测具有不同结构的网络层(如 `BatchNorm`)将通过这个属性区分分支。如果设置为True则执行训练分支否则执行另一个分支。
**参数:**
参数:
- **mode** (bool) - 指定模型是否为训练模式。默认值True。
- **mode** (bool) - 指定模型是否为训练模式。默认值True。
**返回:**
Cell类型Cell本身。
返回:
Cell类型Cell本身。
.. py:method:: shard(in_strategy, out_strategy, device="Ascend", level=0)
@ -591,16 +526,14 @@
.. note:: 需设置为PyNative模式并且全自动并行(AUTO_PARALLEL),同时设置 `set_auto_parallel_context` 中的搜索模式(search mode)为"sharding_propagation"。
**参数:**
参数:
- **in_strategy** (tuple) - 指定各输入的切分策略输入元组的每个元素可以为元组或None元组即具体指定输入每一维的切分策略None则会默认以数据并行执行。
- **out_strategy** (tuple) - 指定各输出的切分策略用法同in_strategy。
- **device** (string) - 指定执行设备,可以为["CPU", "GPU", "Ascend"]中任意一个,默认值:"Ascend"。目前尚未使能。
- **level** (int) - 指定搜索切分策略的目标函数,即是最大化计算通信比、最小化内存消耗、最大化执行速度等。可以为[0, 1, 2]中任意一个默认值0。目前仅支持最大化计算通信比其余模式尚未使能。
- **in_strategy** (tuple) - 指定各输入的切分策略输入元组的每个元素可以为元组或None元组即具体指定输入每一维的切分策略None则会默认以数据并行执行。
- **out_strategy** (tuple) - 指定各输出的切分策略用法同in_strategy。
- **device** (string) - 指定执行设备,可以为["CPU", "GPU", "Ascend"]中任意一个,默认值:"Ascend"。目前尚未使能。
- **level** (int) - 指定搜索切分策略的目标函数,即是最大化计算通信比、最小化内存消耗、最大化执行速度等。可以为[0, 1, 2]中任意一个默认值0。目前仅支持最大化计算通信比其余模式尚未使能。
**返回:**
Cell类型Cell本身。
返回:
Cell类型Cell本身。
.. py:method:: to_float(dst_type)
@ -610,17 +543,14 @@
.. note:: 多次调用将产生覆盖。
**参数:**
参数:
- **dst_type** (mindspore.dtype) - Cell转换为 `dst_type` 类型运行。 `dst_type` 可以是 `mindspore.dtype.float16` 或者 `mindspore.dtype.float32`
- **dst_type** (mindspore.dtype) - Cell转换为 `dst_type` 类型运行。 `dst_type` 可以是 `mindspore.dtype.float16` 或者 `mindspore.dtype.float32`
返回:
Cell类型Cell本身。
**返回:**
Cell类型Cell本身。
**异常:**
- **ValueError** - 如果 `dst_type` 不是 `mindspore.dtype.float32` ,也不是 `mindspore.dtype.float16`
异常:
- **ValueError** - 如果 `dst_type` 不是 `mindspore.dtype.float32` ,也不是 `mindspore.dtype.float16`
.. py:method:: trainable_params(recurse=True)
@ -628,13 +558,11 @@
返回一个可训练参数的列表。
**参数:**
参数:
- **recurse** (bool) - 是否递归地包含当前Cell的所有子Cell的可训练参数。默认值True。
- **recurse** (bool) - 是否递归地包含当前Cell的所有子Cell的可训练参数。默认值True。
**返回:**
List类型可训练参数列表。
返回:
List类型可训练参数列表。
.. py:method:: untrainable_params(recurse=True)
@ -642,13 +570,11 @@
返回一个不可训练参数的列表。
**参数:**
参数:
- **recurse** (bool) - 是否递归地包含当前Cell的所有子Cell的不可训练参数。默认值True。
- **recurse** (bool) - 是否递归地包含当前Cell的所有子Cell的不可训练参数。默认值True。
**返回:**
List类型不可训练参数列表。
返回:
List类型不可训练参数列表。
.. py:method:: update_cell_prefix()
@ -662,15 +588,13 @@
此方法将Cell类型设置为 `cell_type`
**参数:**
- **cell_type** (str) - 被更新的类型,`cell_type` 可以是"quant"或"second-order"。
参数:
- **cell_type** (str) - 被更新的类型,`cell_type` 可以是"quant"或"second-order"。
.. py:method:: update_parameters_name(prefix='', recurse=True)
给网络参数名称添加 `prefix` 前缀字符串。
**参数:**
- **prefix** (str) - 前缀字符串。默认值:''。
- **recurse** (bool) - 是否递归地包含所有子Cell的参数。默认值True。
参数:
- **prefix** (str) - 前缀字符串。默认值:''。
- **recurse** (bool) - 是否递归地包含所有子Cell的参数。默认值True。

View File

@ -7,35 +7,30 @@ mindspore.nn.CellList
CellList可以像普通Python列表一样使用其包含的Cell均已初始化。
**参数:**
- **args** (list可选) - Cell列表。
参数:
- **args** (list可选) - Cell列表。
.. py:method:: append(cell)
在列表末尾添加一个Cell。
**参数:**
- **cell** (Cell) - 要添加的Cell。
参数:
- **cell** (Cell) - 要添加的Cell。
.. py:method:: extend(cells)
将cells中的Cell添加到列表末尾。
**参数:**
参数:
- **cells** (list) - 要添加的Cell列表。
- **cells** (list) - 要添加的Cell列表。
**异常:**
- **TypeError** - cells中的元素不是Cell。
异常:
- **TypeError** - cells中的元素不是Cell。
.. py:method:: insert(index, cell)
在列表中的给定索引之前插入给定的Cell。
**参数:**
- **index** (int) - 给定的列表索引。
- **cell** (Cell) - 要插入的Cell。
参数:
- **index** (int) - 给定的列表索引。
- **cell** (Cell) - 要插入的Cell。

View File

@ -5,19 +5,15 @@ mindspore.nn.CentralCrop
根据指定比例裁剪出图像的中心区域。
**参数:**
参数:
- **central_fraction** (float) - 裁剪比例必须是float并且在范围(0.0, 1.0]内。
- **central_fraction** (float) - 裁剪比例必须是float并且在范围(0.0, 1.0]内。
输入:
- **image** (Tensor) - shape为 :math:`(C, H, W)` 的三维Tensor或shape为 :math:`(N,C,H,W)` 的四维Tensor。
**输入:**
输出:
Tensor基于输入的三维或四维的float Tensor。
- **image** (Tensor) - shape为 :math:`(C, H, W)` 的三维Tensor或shape为 :math:`(N,C,H,W)` 的四维Tensor。
**输出:**
Tensor基于输入的三维或四维的float Tensor。
**异常:**
- **TypeError** - `central_fraction` 不是float。
- **ValueError** - `central_fraction` 不在范围(0.0, 1.0]内。
异常:
- **TypeError** - `central_fraction` 不是float。
- **ValueError** - `central_fraction` 不在范围(0.0, 1.0]内。

View File

@ -13,20 +13,16 @@ mindspore.nn.ClipByNorm
其中 :math:`L_2(X)`:math:`X`:math:`L_2` 范数。
**参数:**
参数:
- **axis** (Union[None, int, tuple(int)]) - 指定在哪个维度上计算 :math:`L_2` 范数。如果为None则计算所有维度。默认值None。
- **axis** (Union[None, int, tuple(int)]) - 指定在哪个维度上计算 :math:`L_2` 范数。如果为None则计算所有维度。默认值None。
输入:
- **x** (Tensor) - 输入n维的Tensor数据类型为float32或float16。
- **clip_norm** (Tensor) - shape为 :math:`()`:math:`(1)` 的Tensor。或者其shape可以广播到 `x` 的shape。
**输入:**
输出:
Tensor裁剪后的Tensor与输入 `x` 的shape相同数据类型为float32。
- **x** (Tensor) - 输入n维的Tensor数据类型为float32或float16。
- **clip_norm** (Tensor) - shape为 :math:`()`:math:`(1)` 的Tensor。或者其shape可以广播到 `x` 的shape。
**输出:**
Tensor裁剪后的Tensor与输入 `x` 的shape相同数据类型为float32。
**异常:**
- **TypeError** - `axis` 不是None、int、或tuple。
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
异常:
- **TypeError** - `axis` 不是None、int、或tuple。
- **TypeError** - `x` 的数据类型既不是float16也不是float32。

View File

@ -7,10 +7,9 @@ mindspore.nn.ConfusionMatrix
如果只想使用混淆矩阵,请使用该类。如果想计算"PPV"、"TPR"、"TNR"等,请使用'mindspore.nn.ConfusionMatrixMetric'类。
**参数:**
- **num_classes** (int) - 数据集中的类别数量。
- **normalize** (str) - 计算ConfsMatrix的参数支持四种归一化模式默认值'no_norm'。
参数:
- **num_classes** (int) - 数据集中的类别数量。
- **normalize** (str) - 计算ConfsMatrix的参数支持四种归一化模式默认值'no_norm'。
- **"no_norm"** (None) - 不使用标准化。
- **"target"** (str) - 基于目标值的标准化。
@ -27,20 +26,17 @@ mindspore.nn.ConfusionMatrix
计算混淆矩阵。
**返回:**
numpy.ndarray计算的结果。
返回:
numpy.ndarray计算的结果。
.. py:method:: update(*inputs)
使用y_pred和y更新内部评估结果。
**参数:**
参数:
- ***inputs** (tuple) - 输入 `y_pred``y``y_pred``y``Tensor` 、列表或数组。
`y_pred` 是预测值, `y` 是真实值, `y_pred` 的shape是 :math:`(N, C, ...)`:math:`(N, ...)` `y` 的shape是 :math:`(N, ...)`
- ***inputs** (tuple) - 输入 `y_pred``y``y_pred``y``Tensor` 、列表或数组。
`y_pred` 是预测值, `y` 是真实值, `y_pred` 的shape是 :math:`(N, C, ...)`:math:`(N, ...)` `y` 的shape是 :math:`(N, ...)`
**异常:**
- **ValueError** - 输入参数的数量不等于2。
- **ValueError** - 如果预测值和标签的维度不一致。
异常:
- **ValueError** - 输入参数的数量不等于2。
- **ValueError** - 如果预测值和标签的维度不一致。

View File

@ -11,16 +11,15 @@ mindspore.nn.ConfusionMatrixMetric
如果要使用混淆矩阵计算,如"PPV"、"TPR"、"TNR",请使用此类。
如果只想计算混淆矩阵,请使用'mindspore.nn.ConfusionMatrix'。
**参数:**
- **skip_channel** (bool) - 是否跳过预测输出的第一个通道的度量计算。默认值True。
- **metric_name** (str) - 建议采用如下指标。当然,也可以为这些指标设置通用别名。
取值范围:["sensitivity", "specificity", "precision", "negative predictive value", "miss rate", "fall out", "false discovery rate", "false omission rate", "prevalence threshold", "threat score", "accuracy", "balanced accuracy", "f1 score", "matthews correlation coefficient", "fowlkes mallows index", "informedness", "markedness"]。
默认值:"sensitivity"。
- **calculation_method** (bool) - 如果为True则计算每个样本的度量值。如果为False则累积所有样本的混淆矩阵。
对于分类任务, `calculation_method` 应为False。默认值False。
- **decrease** (str) - 定义减少一批数据计算结果的模式。仅当 `calculation_method` 为True时才生效。
取值范围:["none", "mean", "sum", "mean_batch", "sum_batch", "mean_channel", "sum_channel"]。默认值:"mean"。
参数:
- **skip_channel** (bool) - 是否跳过预测输出的第一个通道的度量计算。默认值True。
- **metric_name** (str) - 建议采用如下指标。当然,也可以为这些指标设置通用别名。
取值范围:["sensitivity", "specificity", "precision", "negative predictive value", "miss rate", "fall out", "false discovery rate", "false omission rate", "prevalence threshold", "threat score", "accuracy", "balanced accuracy", "f1 score", "matthews correlation coefficient", "fowlkes mallows index", "informedness", "markedness"]。
默认值:"sensitivity"。
- **calculation_method** (bool) - 如果为True则计算每个样本的度量值。如果为False则累积所有样本的混淆矩阵。
对于分类任务, `calculation_method` 应为False。默认值False。
- **decrease** (str) - 定义减少一批数据计算结果的模式。仅当 `calculation_method` 为True时才生效。
取值范围:["none", "mean", "sum", "mean_batch", "sum_batch", "mean_channel", "sum_channel"]。默认值:"mean"。
.. py:method:: clear()
@ -30,23 +29,20 @@ mindspore.nn.ConfusionMatrixMetric
计算混淆矩阵度量。
**返回:**
numpy.ndarray计算的结果。
返回:
numpy.ndarray计算的结果。
.. py:method:: update(*inputs)
使用预测值和目标值更新状态。
**参数:**
- **inputs** (tuple) - `y_pred``y``y_pred``y``Tensor` 、列表或数组。
参数:
- **inputs** (tuple) - `y_pred``y``y_pred``y``Tensor` 、列表或数组。
- **y_pred** (ndarray)待计算的输入数据。格式必须为one-hot且第一个维度是batch。
`y_pred` 的shape是 :math:`(N, C, ...)`:math:`(N, ...)`
至于分类任务, `y_pred` 的shape应为[BN]其中N大于1。对于分割任务shape应为[BNHW]或[BNHWD]。
- **y** (ndarray)计算度量值的真实值。格式必须为one-hot且第一个维度是batch。`y` 的shape是 :math:`(N, C, ...)`
**异常:**
- **ValueError** - 输入参数的数量不等于2。
异常:
- **ValueError** - 输入参数的数量不等于2。

View File

@ -5,18 +5,15 @@ mindspore.nn.ConstantPad1d
将给定的常量填充到多维输入数据的最后一维。
**参数:**
参数:
- **padding** (Union[int, tuple]) - 指定填充的大小。如果 `padding` 的类型为int则在输入最后一维的前后均填充 `padding` 大小如果padding的类型为tuple形如(padding_0, padding_1),那么输入 `x` 对应输出的最后一维的shape为 :math:`padding\_0 + x.shape[-1] + padding\_1` ,输出的其余维度与输入保持一致。
- **value** (Union[int, float]) - 填充值。
- **padding** (Union[int, tuple]) - 指定填充的大小。如果 `padding` 的类型为int则在输入最后一维的前后均填充 `padding` 大小如果padding的类型为tuple形如(padding_0, padding_1),那么输入 `x` 对应输出的最后一维的shape为 :math:`padding\_0 + x.shape[-1] + padding\_1` ,输出的其余维度与输入保持一致。
- **value** (Union[int, float]) - 填充值
返回:
Tensor填充后的Tensor
**返回:**
Tensor填充后的Tensor。
**异常:**
- **TypeError** - `padding` 既不是tuple或者int。
- **TypeError** - `value` 既不是int也不是float。
- **ValueError** - tuple类型的 `padding` 长度不等于2。
- **ValueError** - 填充后输出的维度不是正数。
异常:
- **TypeError** - `padding` 既不是tuple或者int。
- **TypeError** - `value` 既不是int也不是float。
- **ValueError** - tuple类型的 `padding` 长度不等于2。
- **ValueError** - 填充后输出的维度不是正数。

View File

@ -5,18 +5,15 @@ mindspore.nn.ConstantPad2d
将给定的常量填充到多维输入数据的最后两维。
**参数:**
参数:
- **padding** (Union[int, tuple]) - 对输入的最后两维进行填充的大小。如果padding的类型为int则在输入最后两维的前后均填充 `padding` 大小如果padding为长度为4的tuple形如(padding_0, padding_1, padding_2, padding_3),那么输入 `x` 对应输出的最后一维的shape为 :math:`padding\_0 + x.shape[-1] + padding\_1` ,输入 `x` 对应输出的倒数第二维的shape为 :math:`padding\_2 + x.shape[-2] + padding\_3` ,输出的其余维度与输入保持一致。
- **value** (Union[int, float]) - 填充值。
- **padding** (Union[int, tuple]) - 对输入的最后两维进行填充的大小。如果padding的类型为int则在输入最后两维的前后均填充 `padding` 大小如果padding为长度为4的tuple形如(padding_0, padding_1, padding_2, padding_3),那么输入 `x` 对应输出的最后一维的shape为 :math:`padding\_0 + x.shape[-1] + padding\_1` ,输入 `x` 对应输出的倒数第二维的shape为 :math:`padding\_2 + x.shape[-2] + padding\_3` ,输出的其余维度与输入保持一致。
- **value** (Union[int, float]) - 填充值
返回:
Tensor填充后的Tensor
**返回:**
Tensor填充后的Tensor。
**异常:**
- **TypeError** - `padding` 既不是tuple或者int。
- **TypeError** - `value` 既不是int也不是float。
- **ValueError** - tuple类型的 `padding` 长度大于4或者长度不是2的倍数。
- **ValueError** - 填充后输出的维度不是正数。
异常:
- **TypeError** - `padding` 既不是tuple或者int。
- **TypeError** - `value` 既不是int也不是float。
- **ValueError** - tuple类型的 `padding` 长度大于4或者长度不是2的倍数。
- **ValueError** - 填充后输出的维度不是正数。

View File

@ -5,18 +5,15 @@ mindspore.nn.ConstantPad3d
将给定的常量填充到多维输入数据的最后三维。
**参数:**
参数:
- **padding** (Union[int, tuple]) - 对输入的最后三维进行填充的大小。如果padding的类型为int则在输入最后三维的前后均填充 `padding` 大小如果padding为长度为6的tuple形如(padding_0, padding_1, padding_2, padding_3, padding_4, padding_5),那么输入 `x` 对应输出的最后一维的shape为 :math:`padding\_0 + x.shape[-1] + padding\_1` ,输入 `x` 对应输出的倒数第二维的shape为 :math:`padding\_2 + x.shape[-2] + padding\_3` ,输入 `x` 对应输出的倒数第三维的shape为 :math:`padding\_4 + x.shape[-3] + padding\_5` ,输出的其余维度与输入保持一致。
- **value** (Union[int, float]) - 填充值。
- **padding** (Union[int, tuple]) - 对输入的最后三维进行填充的大小。如果padding的类型为int则在输入最后三维的前后均填充 `padding` 大小如果padding为长度为6的tuple形如(padding_0, padding_1, padding_2, padding_3, padding_4, padding_5),那么输入 `x` 对应输出的最后一维的shape为 :math:`padding\_0 + x.shape[-1] + padding\_1` ,输入 `x` 对应输出的倒数第二维的shape为 :math:`padding\_2 + x.shape[-2] + padding\_3` ,输入 `x` 对应输出的倒数第三维的shape为 :math:`padding\_4 + x.shape[-3] + padding\_5` ,输出的其余维度与输入保持一致。
- **value** (Union[int, float]) - 填充值
返回:
Tensor填充后的Tensor
**返回:**
Tensor填充后的Tensor。
**异常:**
- **TypeError** - `padding` 既不是tuple或者int。
- **TypeError** - `value` 既不是int也不是float。
- **ValueError** - tuple类型的 `padding` 长度大于6或者长度不是2的倍数。
- **ValueError** - 填充后输出的维度不是正数。
异常:
- **TypeError** - `padding` 既不是tuple或者int。
- **TypeError** - `value` 既不是int也不是float。
- **ValueError** - tuple类型的 `padding` 长度大于6或者长度不是2的倍数。
- **ValueError** - 填充后输出的维度不是正数。

View File

@ -17,51 +17,47 @@ mindspore.nn.Conv1d
完整卷积核的shape为 :math:`(C_{out}, C_{in} / \text{group}, \text{kernel_size})` ,其中 `group` 是在空间维度上分割输入 `x` 的组数。
详细介绍请参考论文 `Gradient Based Learning Applied to Document Recognition <http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf>`_
**参数:**
参数:
- **in_channels** (int) - Conv1d层输入Tensor的空间维度。
- **out_channels** (int) - Conv1d层输出Tensor的空间维度。
- **kernel_size** (int) - 指定一维卷积核的宽度。
- **stride** (int) - 一维卷积核的移动步长默认值1。
- **pad_mode** (str) - 指定填充模式。可选值为 "same""valid""pad"。默认值:"same"。
- **in_channels** (int) - Conv1d层输入Tensor的空间维度。
- **out_channels** (int) - Conv1d层输出Tensor的空间维度。
- **kernel_size** (int) - 指定一维卷积核的宽度。
- **stride** (int) - 一维卷积核的移动步长默认值1。
- **pad_mode** (str) - 指定填充模式。可选值为 "same""valid""pad"。默认值:"same"。
- same输出的宽度与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- valid在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式`padding` 的值必须为0。
- pad对输入进行填充。在输入对两侧填充 `padding` 大小的0。如果设置此模式 `padding` 的值必须大于或等于0。
- same输出的宽度与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- valid在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式`padding` 的值必须为0。
- pad对输入进行填充。在输入对两侧填充 `padding` 大小的0。如果设置此模式 `padding` 的值必须大于或等于0。
- **padding** (int) - 输入两侧填充的数量。值应该要大于等于0默认值0。
- **dilation** (int) - 一维卷积核膨胀尺寸。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。 `k` 取值范围为[1, L]。默认值1。
- **group** (int) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。默认值1。
- **has_bias** (bool) - Conv1d层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **padding** (int) - 输入两侧填充的数量。值应该要大于等于0默认值0。
- **dilation** (int) - 一维卷积核膨胀尺寸。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。 `k` 取值范围为[1, L]。默认值1。
- **group** (int) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。默认值1。
- **has_bias** (bool) - Conv1d层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
输入:
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor。
**输入:**
输出:
Tensorshape为 :math:`(N, C_{out}, L_{out})`
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor。
pad_mode为"same"时:
**输出:**
.. math::
L_{out} \left \lfloor{\frac{L_{in}}{\text{stride}} + 1} \right \rfloor
Tensorshape为 :math:`(N, C_{out}, L_{out})`
pad_mode为"valid"时:
pad_mode为"same"时:
.. math::
L_{out} \left \lfloor{\frac{L_{in} - \text{dilation} \times (\text{kernel_size} - 1) }{\text{stride}} + 1} \right \rfloor
.. math::
L_{out} \left \lfloor{\frac{L_{in}}{\text{stride}} + 1} \right \rfloor
pad_mode为"pad"时:
pad_mode为"valid"时:
.. math::
L_{out} \left \lfloor{\frac{L_{in} + 2 \times padding - (\text{dilation} - 1) \times \text{kernel_size} - 1 }{\text{stride}} + 1} \right \rfloor
.. math::
L_{out} \left \lfloor{\frac{L_{in} - \text{dilation} \times (\text{kernel_size} - 1) }{\text{stride}} + 1} \right \rfloor
pad_mode为"pad"时:
.. math::
L_{out} \left \lfloor{\frac{L_{in} + 2 \times padding - (\text{dilation} - 1) \times \text{kernel_size} - 1 }{\text{stride}} + 1} \right \rfloor
**异常:**
- **TypeError** - `in_channels``out_channels``kernel_size``stride``padding``dilation` 不是int。
- **ValueError** - `in_channels``out_channels``kernel_size``stride``dilation` 小于1。
- **ValueError** - `padding` 小于0。
- **ValueError** - `pad_mode` 不是"same""valid"或"pad"。
异常:
- **TypeError** - `in_channels``out_channels``kernel_size``stride``padding``dilation` 不是int。
- **ValueError** - `in_channels``out_channels``kernel_size``stride``dilation` 小于1。
- **ValueError** - `padding` 小于0。
- **ValueError** - `pad_mode` 不是"same""valid"或"pad"。

View File

@ -11,51 +11,47 @@ mindspore.nn.Conv1dTranspose
当Conv1d和ConvTranspose1d使用相同的参数初始化时`pad_mode` 设置为"pad",它们会在输入的两端填充 :math:`dilation * (kernel\_size - 1) - padding` 个零这种情况下它们的输入和输出shape是互逆的。
然而,当 `stride` 大于1时Conv1d会将多个输入的shape映射到同一个输出shape。反卷积网络可以参考 `Deconvolutional Networks <https://www.matthewzeiler.com/mattzeiler/deconvolutionalnetworks.pdf>`_
**参数:**
参数:
- **in_channels** (int) - Conv1dTranspose层输入Tensor的空间维度。
- **out_channels** (int) - Conv1dTranspose层输出Tensor的空间维度。
- **kernel_size** (int) - 指定一维卷积核的宽度。
- **stride** (int) - 一维卷积核的移动步长默认值1。
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- **in_channels** (int) - Conv1dTranspose层输入Tensor的空间维度。
- **out_channels** (int) - Conv1dTranspose层输出Tensor的空间维度。
- **kernel_size** (int) - 指定一维卷积核的宽度。
- **stride** (int) - 一维卷积核的移动步长默认值1。
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- same输出的宽度与输入整除 `stride` 后的值相同。若设置该模式, `padding` 的值必须为0。
- valid在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式`padding` 的值必须为0。
- pad对输入进行填充。在输入对两侧填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- same输出的宽度与输入整除 `stride` 后的值相同。若设置该模式, `padding` 的值必须为0。
- valid在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式`padding` 的值必须为0。
- pad对输入进行填充。在输入对两侧填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **padding** (int) - 输入两侧填充的数量。默认值0。
- **dilation** (int) - 一维卷积核膨胀尺寸。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。 `k` 取值范围为[1, L]。默认值1。
- **group** (int) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。当 `group` 大于1时暂不支持Ascend平台。默认值1。
- **has_bias** (bool) - Conv1dTranspose层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **padding** (int) - 输入两侧填充的数量。默认值0。
- **dilation** (int) - 一维卷积核膨胀尺寸。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。 `k` 取值范围为[1, L]。默认值1。
- **group** (int) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。当 `group` 大于1时暂不支持Ascend平台。默认值1。
- **has_bias** (bool) - Conv1dTranspose层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
输入:
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor。
**输入:**
输出:
Tensorshape为 :math:`(N, C_{out}, L_{out})`
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor。
`pad_mode` 设置为"same"时:
**输出:**
.. math::
L_{out} = \frac{ L_{in} + \text{stride} - 1 }{ \text{stride} }
Tensorshape为 :math:`(N, C_{out}, L_{out})`
`pad_mode` 设置为"valid"时:
`pad_mode` 设置为"same"时:
.. math::
L_{out} = (L_{in} - 1) \times \text{stride} + \text{dilation} \times (\text{kernel_size} - 1) + 1
.. math::
L_{out} = \frac{ L_{in} + \text{stride} - 1 }{ \text{stride} }
`pad_mode` 设置为"pad"时:
`pad_mode` 设置为"valid"时:
.. math::
L_{out} = (L_{in} - 1) \times \text{stride} - 2 \times \text{padding} + \text{dilation} \times (\text{kernel_size} - 1) + 1
.. math::
L_{out} = (L_{in} - 1) \times \text{stride} + \text{dilation} \times (\text{kernel_size} - 1) + 1
`pad_mode` 设置为"pad"时:
.. math::
L_{out} = (L_{in} - 1) \times \text{stride} - 2 \times \text{padding} + \text{dilation} \times (\text{kernel_size} - 1) + 1
**异常:**
- **TypeError** - `in_channels``out_channels``kernel_size``stride``padding``dilation` 不是int。
- **ValueError** - `in_channels``out_channels``kernel_size``stride``dilation` 小于1。
- **ValueError** - `padding` 小于0。
- **ValueError** - `pad_mode` 不是"same""valid"或"pad"。
异常:
- **TypeError** - `in_channels``out_channels``kernel_size``stride``padding``dilation` 不是int。
- **ValueError** - `in_channels``out_channels``kernel_size``stride``dilation` 小于1。
- **ValueError** - `padding` 小于0。
- **ValueError** - `pad_mode` 不是"same""valid"或"pad"。

View File

@ -16,69 +16,65 @@ mindspore.nn.Conv2d
此时输入Tensor对应的 `data_format` 为"NCHW"完整卷积核的shape为 :math:`(C_{out}, C_{in} / \text{group}, \text{kernel_size[0]}, \text{kernel_size[1]})` ,其中 `group` 是在空间维度上分割输入 `x` 的组数。如果输入Tensor对应的 `data_format` 为"NHWC"完整卷积核的shape则为 :math:`(C_{out}, \text{kernel_size[0]}, \text{kernel_size[1]}), C_{in} / \text{group}`
详细介绍请参考论文 `Gradient Based Learning Applied to Document Recognition <http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf>`_
**参数:**
参数:
- **in_channels** (`int`) - Conv2d层输入Tensor的空间维度。
- **out_channels** (`dict`) - Conv2d层输出Tensor的空间维度。
- **kernel_size** (`Union[int, tuple[int]]`) - 指定二维卷积核的高度和宽度。数据类型为整型或两个整型的tuple。一个整数表示卷积核的高度和宽度均为该值。两个整数的tuple分别表示卷积核的高度和宽度。
- **stride** (`Union[int, tuple[int]]`) - 二维卷积核的移动步长。数据类型为整型或两个整型的tuple。一个整数表示在高度和宽度方向的移动步长均为该值。两个整数的tuple分别表示在高度和宽度方向的移动步长。默认值1。
- **pad_mode** (`str`) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- **in_channels** (`int`) - Conv2d层输入Tensor的空间维度。
- **out_channels** (`dict`) - Conv2d层输出Tensor的空间维度。
- **kernel_size** (`Union[int, tuple[int]]`) - 指定二维卷积核的高度和宽度。数据类型为整型或两个整型的tuple。一个整数表示卷积核的高度和宽度均为该值。两个整数的tuple分别表示卷积核的高度和宽度。
- **stride** (`Union[int, tuple[int]]`) - 二维卷积核的移动步长。数据类型为整型或两个整型的tuple。一个整数表示在高度和宽度方向的移动步长均为该值。两个整数的tuple分别表示在高度和宽度方向的移动步长。默认值1。
- **pad_mode** (`str`) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- **same**:输出的高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- **valid**:在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `padding` 的值必须为0。
- **pad**:对输入进行填充。在输入的高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **same**:输出的高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- **valid**:在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `padding` 的值必须为0。
- **pad**:对输入进行填充。在输入的高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **padding** (`Union[int, tuple[int]]`) - 输入的高度和宽度方向上填充的数量。数据类型为int或包含4个整数的tuple。如果 `padding` 是一个整数,那么上、下、左、右的填充都等于 `padding` 。如果 `padding` 是一个有4个整数的tuple那么上、下、左、右的填充分别等于 `padding[0]``padding[1]``padding[2]``padding[3]` 。值应该要大于等于0默认值0。
- **dilation** (`Union[int, tuple[int]]`) - 二维卷积核膨胀尺寸。数据类型为整型或具有两个整型的tuple。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。垂直和水平方向上的 `k` ,其取值范围分别为[1, H]和[1, W]。默认值1。
- **group** (`int`) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。如果组数等于 `in_channels``out_channels` 这个二维卷积层也被称为二维深度卷积层。默认值1.
- **has_bias** (`bool`) - Conv2d层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **data_format** (`str`) - 数据格式的可选值有"NHWC""NCHW"。默认值:"NCHW"。
- **padding** (`Union[int, tuple[int]]`) - 输入的高度和宽度方向上填充的数量。数据类型为int或包含4个整数的tuple。如果 `padding` 是一个整数,那么上、下、左、右的填充都等于 `padding` 。如果 `padding` 是一个有4个整数的tuple那么上、下、左、右的填充分别等于 `padding[0]``padding[1]``padding[2]``padding[3]` 。值应该要大于等于0默认值0。
- **dilation** (`Union[int, tuple[int]]`) - 二维卷积核膨胀尺寸。数据类型为整型或具有两个整型的tuple。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。垂直和水平方向上的 `k` ,其取值范围分别为[1, H]和[1, W]。默认值1。
- **group** (`int`) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。如果组数等于 `in_channels``out_channels` 这个二维卷积层也被称为二维深度卷积层。默认值1.
- **has_bias** (`bool`) - Conv2d层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **data_format** (`str`) - 数据格式的可选值有"NHWC""NCHW"。默认值:"NCHW"。
输入:
- **x** (Tensor) - Shape为 :math:`(N, C_{in}, H_{in}, W_{in})` 或者 :math:`(N, H_{in}, W_{in}, C_{in})` 的Tensor。
**输入:**
输出:
Tensorshape为 :math:`(N, C_{out}, H_{out}, W_{out})` 或者 :math:`(N, H_{out}, W_{out}, C_{out})`
- **x** (Tensor) - Shape为 :math:`(N, C_{in}, H_{in}, W_{in})` 或者 :math:`(N, H_{in}, W_{in}, C_{in})` 的Tensor。
pad_mode为"same"时:
**输出:**
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in}}{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in}}{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
Tensorshape为 :math:`(N, C_{out}, H_{out}, W_{out})` 或者 :math:`(N, H_{out}, W_{out}, C_{out})`
pad_mode为"valid"时:
pad_mode为"same"时:
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in}}{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in}}{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
pad_mode为"pad"时:
pad_mode为"valid"时:
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in} + padding[0] + padding[1] - (\text{dilation[0]} - 1) \times
\text{kernel_size[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} + padding[2] + padding[3] - (\text{dilation[1]} - 1) \times
\text{kernel_size[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
pad_mode为"pad"时:
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in} + padding[0] + padding[1] - (\text{dilation[0]} - 1) \times
\text{kernel_size[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} + padding[2] + padding[3] - (\text{dilation[1]} - 1) \times
\text{kernel_size[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
**异常:**
- **TypeError** - 如果 `in_channels` `out_channels` 或者 `group` 不是整数。
- **TypeError** - 如果 `kernel_size` `stride``padding` 或者 `dilation` 既不是整数也不是tuple。
- **ValueError** - 如果 `in_channels` `out_channels``kernel_size` `stride` 或者 `dilation` 小于1。
- **ValueError** - 如果 `padding` 小于0。
- **ValueError** - 如果 `pad_mode` 不是"same""valid"或"pad"。
- **ValueError** - 如果 `padding` 是一个长度不等于4的tuple。
- **ValueError** - 如果 `pad_mode` 不等于"pad"且 `padding` 不等于(0,0,0,0)。
- **ValueError** - 如果 `data_format` 既不是"NCHW"也不是"NHWC"。
异常:
- **TypeError** - 如果 `in_channels` `out_channels` 或者 `group` 不是整数。
- **TypeError** - 如果 `kernel_size` `stride``padding` 或者 `dilation` 既不是整数也不是tuple。
- **ValueError** - 如果 `in_channels` `out_channels``kernel_size` `stride` 或者 `dilation` 小于1。
- **ValueError** - 如果 `padding` 小于0。
- **ValueError** - 如果 `pad_mode` 不是"same""valid"或"pad"。
- **ValueError** - 如果 `padding` 是一个长度不等于4的tuple。
- **ValueError** - 如果 `pad_mode` 不等于"pad"且 `padding` 不等于(0,0,0,0)。
- **ValueError** - 如果 `data_format` 既不是"NCHW"也不是"NHWC"。

View File

@ -11,67 +11,63 @@ mindspore.nn.Conv2dTranspose
当Conv2d和ConvTranspose2d使用相同的参数初始化时`pad_mode` 设置为"pad",它们会在输入的高度和宽度方向上填充 :math:`dilation * (kernel\_size - 1) - padding` 个零这种情况下它们的输入和输出shape是互逆的。
然而,当 `stride` 大于1时Conv2d会将多个输入的shape映射到同一个输出shape。反卷积网络可以参考 `Deconvolutional Networks <https://www.matthewzeiler.com/mattzeiler/deconvolutionalnetworks.pdf>`_
**参数:**
参数:
- **in_channels** (`int`) - Conv2dTranspose层输入Tensor的空间维度。
- **out_channels** (`dict`) - Conv2dTranspose层输出Tensor的空间维度。
- **kernel_size** (`Union[int, tuple[int]]`) - 指定二维卷积核的高度和宽度。数据类型为整型或两个整型的tuple。一个整数表示卷积核的高度和宽度均为该值。两个整数的tuple分别表示卷积核的高度和宽度。
- **stride** (`Union[int, tuple[int]]`) - 二维卷积核的移动步长。数据类型为整型或两个整型的tuple。一个整数表示在高度和宽度方向的移动步长均为该值。两个整数的tuple分别表示在高度和宽度方向的移动步长。默认值1。
- **pad_mode** (`str`) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- **in_channels** (`int`) - Conv2dTranspose层输入Tensor的空间维度。
- **out_channels** (`dict`) - Conv2dTranspose层输出Tensor的空间维度。
- **kernel_size** (`Union[int, tuple[int]]`) - 指定二维卷积核的高度和宽度。数据类型为整型或两个整型的tuple。一个整数表示卷积核的高度和宽度均为该值。两个整数的tuple分别表示卷积核的高度和宽度。
- **stride** (`Union[int, tuple[int]]`) - 二维卷积核的移动步长。数据类型为整型或两个整型的tuple。一个整数表示在高度和宽度方向的移动步长均为该值。两个整数的tuple分别表示在高度和宽度方向的移动步长。默认值1。
- **pad_mode** (`str`) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- **same**:输出的高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- **valid**:在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `padding` 的值必须为0。
- **pad**:对输入进行填充。在输入的高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **same**:输出的高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- **valid**:在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `padding` 的值必须为0。
- **pad**:对输入进行填充。在输入的高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **padding** (`Union[int, tuple[int]]`) - 输入的高度和宽度方向上填充的数量。数据类型为整型或包含四个整数的tuple。如果 `padding` 是一个整数,那么上、下、左、右的填充都等于 `padding` 。如果 `padding` 是一个有四个整数的tuple那么上、下、左、右的填充分别等于 `padding[0]``padding[1]``padding[2]``padding[3]` 。值应该要大于等于0默认值0。
- **dilation** (`Union[int, tuple[int]]`) - 二维卷积核膨胀尺寸。数据类型为整型或具有两个整型的tuple。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。高度和宽度方向上的 `k` ,其取值范围分别为[1, H]和[1, W]。默认值1。
- **group** (`int`) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。如果组数等于 `in_channels``out_channels` 这个二维卷积层也被称为二维深度卷积层。默认值1.
- **has_bias** (`bool`) - Conv2dTranspose层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **padding** (`Union[int, tuple[int]]`) - 输入的高度和宽度方向上填充的数量。数据类型为整型或包含四个整数的tuple。如果 `padding` 是一个整数,那么上、下、左、右的填充都等于 `padding` 。如果 `padding` 是一个有四个整数的tuple那么上、下、左、右的填充分别等于 `padding[0]``padding[1]``padding[2]``padding[3]` 。值应该要大于等于0默认值0。
- **dilation** (`Union[int, tuple[int]]`) - 二维卷积核膨胀尺寸。数据类型为整型或具有两个整型的tuple。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。高度和宽度方向上的 `k` ,其取值范围分别为[1, H]和[1, W]。默认值1。
- **group** (`int`) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。如果组数等于 `in_channels``out_channels` 这个二维卷积层也被称为二维深度卷积层。默认值1.
- **has_bias** (`bool`) - Conv2dTranspose层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
输入:
- **x** (Tensor) - Shape 为 :math:`(N, C_{in}, H_{in}, W_{in})` 的Tensor。
**输入:**
输出:
Tensorshape为 :math:`(N, C_{out}, H_{out}, W_{out})`
- **x** (Tensor) - Shape 为 :math:`(N, C_{in}, H_{in}, W_{in})` 的Tensor。
pad_mode为"same"时:
**输出:**
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in}}{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in}}{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
Tensorshape为 :math:`(N, C_{out}, H_{out}, W_{out})`
pad_mode为"valid"时:
pad_mode为"same"时:
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in}}{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in}}{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
pad_mode为"pad"时:
pad_mode为"valid"时:
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in} + padding[0] + padding[1] - (\text{dilation[0]} - 1) \times
\text{kernel_size[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} + padding[2] + padding[3] - (\text{dilation[1]} - 1) \times
\text{kernel_size[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
pad_mode为"pad"时:
.. math::
\begin{array}{ll} \\
H_{out} \left \lfloor{\frac{H_{in} + padding[0] + padding[1] - (\text{dilation[0]} - 1) \times
\text{kernel_size[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} + padding[2] + padding[3] - (\text{dilation[1]} - 1) \times
\text{kernel_size[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
\end{array}
**异常:**
- **TypeError** - 如果 `in_channels` `out_channels` 或者 `group` 不是整数。
- **TypeError** - 如果 `kernel_size` `stride` `padding` 或者 `dilation` 既不是整数也不是tuple。
- **ValueError** - 如果 `in_channels` `out_channels` `kernel_size` `stride` 或者 `dilation` 小于1。
- **ValueError** - 如果 `padding` 小于0。
- **ValueError** - 如果 `pad_mode` 不是"same""valid"或"pad"。
- **ValueError** - 如果 `padding` 是一个长度不等于4的tuple。
- **ValueError** - 如果 `pad_mode` 不等于"pad"且 `padding` 不等于(0,0,0,0)。
异常:
- **TypeError** - 如果 `in_channels` `out_channels` 或者 `group` 不是整数。
- **TypeError** - 如果 `kernel_size` `stride` `padding` 或者 `dilation` 既不是整数也不是tuple。
- **ValueError** - 如果 `in_channels` `out_channels` `kernel_size` `stride` 或者 `dilation` 小于1。
- **ValueError** - 如果 `padding` 小于0。
- **ValueError** - 如果 `pad_mode` 不是"same""valid"或"pad"。
- **ValueError** - 如果 `padding` 是一个长度不等于4的tuple。
- **ValueError** - 如果 `pad_mode` 不等于"pad"且 `padding` 不等于(0,0,0,0)。

View File

@ -16,74 +16,70 @@ mindspore.nn.Conv3d
完整卷积核的shape为 :math:`(C_{out}, C_{in} / \text{group}, \text{kernel_size[0]}, \text{kernel_size[1]}, \text{kernel_size[2]})` ,其中 `group` 是在空间维度上分割输入 `x` 的组数。
详细介绍请参考论文 `Gradient Based Learning Applied to Document Recognition <http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf>`_
**参数:**
参数:
- **in_channels** (int) - Conv3d层输入Tensor的空间维度。
- **out_channels** (int) - Conv3d层输出Tensor的空间维度。
- **kernel_size** (Union[int, tuple[int]]) - 指定三维卷积核的深度、高度和宽度。数据类型为int或包含三个整数的tuple。一个整数表示卷积核的深度、高度和宽度均为该值该值。包含三个整数的tuple分别表示卷积核的深度、高度和宽度。
- **stride** (Union[int, tuple[int]]) - 三维卷积核的移动步长。数据类型为整型或三个整型的tuple。一个整数表示在深度、高度和宽度方向的移动步长均为该值。三个整数的tuple分别表示在深度、高度和宽度方向的移动步长。默认值1。
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- **in_channels** (int) - Conv3d层输入Tensor的空间维度。
- **out_channels** (int) - Conv3d层输出Tensor的空间维度。
- **kernel_size** (Union[int, tuple[int]]) - 指定三维卷积核的深度、高度和宽度。数据类型为int或包含三个整数的tuple。一个整数表示卷积核的深度、高度和宽度均为该值该值。包含三个整数的tuple分别表示卷积核的深度、高度和宽度。
- **stride** (Union[int, tuple[int]]) - 三维卷积核的移动步长。数据类型为整型或三个整型的tuple。一个整数表示在深度、高度和宽度方向的移动步长均为该值。三个整数的tuple分别表示在深度、高度和宽度方向的移动步长。默认值1。
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- same输出的深度、高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- valid在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式`padding` 的值必须为0。
- pad对输入进行填充。 在输入的深度、高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- same输出的深度、高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- valid在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式`padding` 的值必须为0。
- pad对输入进行填充。 在输入的深度、高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **padding** (Union(int, tuple[int])) - 输入的深度、高度和宽度方向上填充的数量。数据类型为int或包含6个整数的tuple。如果 `padding` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `padding` 。如果 `padding` 是6个整数的tuple则前部、尾部、顶部、底部、左边和右边的填充分别等于填充padding[0]、padding[1]、padding[2]、padding[3]、padding[4]和padding[5]。值应该要大于等于0默认值0。
- **dilation** (Union[int, tuple[int]]) - 三维卷积核膨胀尺寸。数据类型为int或三个整数的tuple。若取值k > 1则kernel对每k个元素进行采样。在深度、高度和宽度方向上的取值范围分别为[1, D]、[1, H]和[1, W]。默认值1。
- **group** (int) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。默认值1。当前仅支持1。
- **has_bias** (bool) - Conv3d层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **data_format** (str) - 数据格式的可选值。目前仅支持"NCDHW"。
- **padding** (Union(int, tuple[int])) - 输入的深度、高度和宽度方向上填充的数量。数据类型为int或包含6个整数的tuple。如果 `padding` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `padding` 。如果 `padding` 是6个整数的tuple则前部、尾部、顶部、底部、左边和右边的填充分别等于填充padding[0]、padding[1]、padding[2]、padding[3]、padding[4]和padding[5]。值应该要大于等于0默认值0。
- **dilation** (Union[int, tuple[int]]) - 三维卷积核膨胀尺寸。数据类型为int或三个整数的tuple。若取值k > 1则kernel对每k个元素进行采样。在深度、高度和宽度方向上的取值范围分别为[1, D]、[1, H]和[1, W]。默认值1。
- **group** (int) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。默认值1。当前仅支持1。
- **has_bias** (bool) - Conv3d层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **data_format** (str) - 数据格式的可选值。目前仅支持"NCDHW"。
输入:
- **x** (Tensor) - shape为 :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。目前输入数据类型只支持float16和float32。
**输入:**
输出:
Tensorshape为 :math:`(N, C_{out}, D_{out}, H_{out}, W_{out})`
- **x** (Tensor) - shape为 :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。目前输入数据类型只支持float16和float32。
pad_mode为"same"时:
**输出:**
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in}}{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in}}{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in}}{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
Tensorshape为 :math:`(N, C_{out}, D_{out}, H_{out}, W_{out})`
pad_mode为"valid"时:
pad_mode为"same"时:
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} - \text{dilation[2]} \times (\text{kernel_size[2]} - 1) }
{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in}}{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in}}{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in}}{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
pad_mode为"pad"时:
pad_mode为"valid"时:
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in} + padding[0] + padding[1] - (\text{dilation[0]} - 1) \times
\text{kernel_size[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in} + padding[2] + padding[3] - (\text{dilation[1]} - 1) \times
\text{kernel_size[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} + padding[4] + padding[5] - (\text{dilation[2]} - 1) \times
\text{kernel_size[2]} - 1 }{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} - \text{dilation[2]} \times (\text{kernel_size[2]} - 1) }
{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
pad_mode为"pad"时:
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in} + padding[0] + padding[1] - (\text{dilation[0]} - 1) \times
\text{kernel_size[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in} + padding[2] + padding[3] - (\text{dilation[1]} - 1) \times
\text{kernel_size[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} + padding[4] + padding[5] - (\text{dilation[2]} - 1) \times
\text{kernel_size[2]} - 1 }{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
**异常:**
- **TypeError** - `in_channels``out_channels``group` 不是int。
- **TypeError** - `kernel_size``stride``padding``dilation` 既不是int也不是tuple。
- **ValueError** - `out_channels``kernel_size``stride``dilation` 小于1。
- **ValueError** - `padding` 小于0。
- **ValueError** - `pad_mode` 不是"same""valid"或"pad"。
- **ValueError** - `padding` 是长度不等于6的tuple。
- **ValueError** - `pad_mode` 不等于"pad"且 `padding` 不等于(0, 0, 0, 0, 0, 0)。
- **ValueError** - `data_format` 不是"NCDHW"。
异常:
- **TypeError** - `in_channels``out_channels``group` 不是int。
- **TypeError** - `kernel_size``stride``padding``dilation` 既不是int也不是tuple。
- **ValueError** - `out_channels``kernel_size``stride``dilation` 小于1。
- **ValueError** - `padding` 小于0。
- **ValueError** - `pad_mode` 不是"same""valid"或"pad"。
- **ValueError** - `padding` 是长度不等于6的tuple。
- **ValueError** - `pad_mode` 不等于"pad"且 `padding` 不等于(0, 0, 0, 0, 0, 0)。
- **ValueError** - `data_format` 不是"NCDHW"。

View File

@ -11,76 +11,72 @@ mindspore.nn.Conv3dTranspose
当Conv3d和ConvTranspose3d使用相同的参数初始化时`pad_mode` 设置为"pad",它们会在输入的深度、高度和宽度方向上填充 :math:`dilation * (kernel\_size - 1) - padding` 个零这种情况下它们的输入和输出shape是互逆的。
然而,当 `stride` 大于1时Conv3d会将多个输入的shape映射到同一个输出shape。反卷积网络可以参考 `Deconvolutional Networks <https://www.matthewzeiler.com/mattzeiler/deconvolutionalnetworks.pdf>`_
**参数:**
参数:
- **in_channels** (int) - Conv3dTranspose层输入Tensor的空间维度。
- **out_channels** (int) - Conv3dTranspose层输出Tensor的空间维度。
- **kernel_size** (Union[int, tuple[int]]) - 指定三维卷积核的深度、高度和宽度。数据类型为int或包含三个整数的tuple。一个整数表示卷积核的深度、高度和宽度均为该值该值。包含三个整数的tuple分别表示卷积核的深度、高度和宽度。
- **stride** (Union[int, tuple[int]]) - 三维卷积核的移动步长。数据类型为整型或三个整型的tuple。一个整数表示在深度、高度和宽度方向的移动步长均为该值。三个整数的tuple分别表示在深度、高度和宽度方向的移动步长。默认值1。
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- **in_channels** (int) - Conv3dTranspose层输入Tensor的空间维度。
- **out_channels** (int) - Conv3dTranspose层输出Tensor的空间维度。
- **kernel_size** (Union[int, tuple[int]]) - 指定三维卷积核的深度、高度和宽度。数据类型为int或包含三个整数的tuple。一个整数表示卷积核的深度、高度和宽度均为该值该值。包含三个整数的tuple分别表示卷积核的深度、高度和宽度。
- **stride** (Union[int, tuple[int]]) - 三维卷积核的移动步长。数据类型为整型或三个整型的tuple。一个整数表示在深度、高度和宽度方向的移动步长均为该值。三个整数的tuple分别表示在深度、高度和宽度方向的移动步长。默认值1。
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- same输出的深度、高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- valid在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式`padding` 的值必须为0。
- pad对输入进行填充。 在输入的深度、高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- same输出的深度、高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- valid在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式`padding` 的值必须为0。
- pad对输入进行填充。 在输入的深度、高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **padding** (Union(int, tuple[int])) - 输入的深度、高度和宽度方向上填充的数量。数据类型为int或包含6个整数的tuple。如果 `padding` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `padding` 。如果 `padding` 是6个整数的tuple则前部、尾部、顶部、底部、左边和右边的填充分别等于填充padding[0]、padding[1]、padding[2]、padding[3]、padding[4]和padding[5]。值应该要大于等于0默认值0。
- **dilation** (Union[int, tuple[int]]) - 三维卷积核膨胀尺寸。数据类型为int或三个整数的tuple。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。深度、高度和宽度方向上的 `k` ,其取值范围分别为[1, D]、[1, H]和[1, W]。默认值1。
- **group** (int) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。当 `group` 大于1时暂不支持Ascend平台。默认值1。当前仅支持1。
- **output_padding** (Union(int, tuple[int])) - 输出的深度、高度和宽度方向上填充的数量。数据类型为int或包含6个整数的tuple。如果 `output_padding` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `output_padding` 。如果 `output_padding` 是6个整数的tuple则前部、尾部、顶部、底部、左边和右边的填充分别等于填充output_padding[0]、output_padding[1]、output_padding[2]、output_padding[3]、output_padding[4]output_padding[5]。值应该要大于等于0默认值0。
- **has_bias** (bool) - Conv3dTranspose层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **data_format** (str) - 数据格式的可选值。目前仅支持"NCDHW"。
- **padding** (Union(int, tuple[int])) - 输入的深度、高度和宽度方向上填充的数量。数据类型为int或包含6个整数的tuple。如果 `padding` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `padding` 。如果 `padding` 是6个整数的tuple则前部、尾部、顶部、底部、左边和右边的填充分别等于填充padding[0]、padding[1]、padding[2]、padding[3]、padding[4]和padding[5]。值应该要大于等于0默认值0。
- **dilation** (Union[int, tuple[int]]) - 三维卷积核膨胀尺寸。数据类型为int或三个整数的tuple。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。深度、高度和宽度方向上的 `k` ,其取值范围分别为[1, D]、[1, H]和[1, W]。默认值1。
- **group** (int) - 将过滤器拆分为组, `in_channels``out_channels` 必须可被 `group` 整除。当 `group` 大于1时暂不支持Ascend平台。默认值1。当前仅支持1。
- **output_padding** (Union(int, tuple[int])) - 输出的深度、高度和宽度方向上填充的数量。数据类型为int或包含6个整数的tuple。如果 `output_padding` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `output_padding` 。如果 `output_padding` 是6个整数的tuple则前部、尾部、顶部、底部、左边和右边的填充分别等于填充output_padding[0]、output_padding[1]、output_padding[2]、output_padding[3]、output_padding[4]output_padding[5]。值应该要大于等于0默认值0。
- **has_bias** (bool) - Conv3dTranspose层是否添加偏置参数。默认值False。
- **weight_init** (Union[Tensor, str, Initializer, numbers.Number]) - 权重参数的初始化方法。它可以是TensorstrInitializer或numbers.Number。当使用str时可选"TruncatedNormal""Normal""Uniform""HeUniform"和"XavierUniform"分布以及常量"One"和"Zero"分布的值,可接受别名"xavier_uniform""he_uniform""ones"和"zeros"。上述字符串大小写均可。更多细节请参考Initializer的值。默认值"normal"。
- **bias_init** (Union[Tensor, str, Initializer, numbers.Number]) - 偏置参数的初始化方法。可以使用的初始化方法与"weight_init"相同。更多细节请参考Initializer的值。默认值"zeros"。
- **data_format** (str) - 数据格式的可选值。目前仅支持"NCDHW"。
输入:
- **x** (Tensor) - shape为 :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。目前输入数据类型只支持float16和float32。
**输入:**
输出:
Tensorshape为 :math:`(N, C_{out}, D_{out}, H_{out}, W_{out})`
- **x** (Tensor) - shape为 :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。目前输入数据类型只支持float16和float32。
pad_mode为"same"时:
**输出:**
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in}}{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in}}{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in}}{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
Tensorshape为 :math:`(N, C_{out}, D_{out}, H_{out}, W_{out})`
pad_mode为"valid"时:
pad_mode为"same"时:
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} - \text{dilation[2]} \times (\text{kernel_size[2]} - 1) }
{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in}}{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in}}{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in}}{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
pad_mode为"pad"时:
pad_mode为"valid"时:
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in} + padding[0] + padding[1] - (\text{dilation[0]} - 1) \times
\text{kernel_size[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in} + padding[2] + padding[3] - (\text{dilation[1]} - 1) \times
\text{kernel_size[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} + padding[4] + padding[5] - (\text{dilation[2]} - 1) \times
\text{kernel_size[2]} - 1 }{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} - \text{dilation[2]} \times (\text{kernel_size[2]} - 1) }
{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
pad_mode为"pad"时:
.. math::
\begin{array}{ll} \\
D_{out} \left \lfloor{\frac{D_{in} + padding[0] + padding[1] - (\text{dilation[0]} - 1) \times
\text{kernel_size[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
H_{out} \left \lfloor{\frac{H_{in} + padding[2] + padding[3] - (\text{dilation[1]} - 1) \times
\text{kernel_size[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
W_{out} \left \lfloor{\frac{W_{in} + padding[4] + padding[5] - (\text{dilation[2]} - 1) \times
\text{kernel_size[2]} - 1 }{\text{stride[2]}} + 1} \right \rfloor \\
\end{array}
**异常:**
- **TypeError** - `in_channels``out_channels``group` 不是int。
- **TypeError** - `kernel_size``stride``padding``dilation``output_padding` 既不是int也不是tuple。
- **TypeError** - 输入数据类型不是float16或float32。
- **ValueError** - `in_channels``out_channels``kernel_size``stride``dilation` 小于1。
- **ValueError** - `padding` 小于0。
- **ValueError** - `pad_mode` 不是"same""valid"或"pad"。
- **ValueError** - `padding` 是长度不等于6的tuple。
- **ValueError** - `pad_mode` 不等于"pad"且 `padding` 不等于(0, 0, 0, 0, 0, 0)。
- **ValueError** - `data_format` 不是"NCDHW"。
异常:
- **TypeError** - `in_channels``out_channels``group` 不是int。
- **TypeError** - `kernel_size``stride``padding``dilation``output_padding` 既不是int也不是tuple。
- **TypeError** - 输入数据类型不是float16或float32。
- **ValueError** - `in_channels``out_channels``kernel_size``stride``dilation` 小于1。
- **ValueError** - `padding` 小于0。
- **ValueError** - `pad_mode` 不是"same""valid"或"pad"。
- **ValueError** - `padding` 是长度不等于6的tuple。
- **ValueError** - `pad_mode` 不等于"pad"且 `padding` 不等于(0, 0, 0, 0, 0, 0)。
- **ValueError** - `data_format` 不是"NCDHW"。

View File

@ -11,23 +11,19 @@ mindspore.nn.CosineDecayLR
decayed\_learning\_rate = &min\_lr + 0.5 * (max\_lr - min\_lr) *\\
&(1 + cos(\frac{current\_step}{decay\_steps}\pi))
**参数:**
参数:
- **min_lr** (float) - 学习率的最小值。
- **max_lr** (float) - 学习率的最大值。
- **decay_steps** (int) - 进行衰减的step数。
- **min_lr** (float) - 学习率的最小值。
- **max_lr** (float) - 学习率的最大值。
- **decay_steps** (int) - 进行衰减的step数。
输入:
- **global_step** (Tensor) - 当前step数即current_step。
**输入:**
输出:
标量Tensor。当前step的学习率值。
- **global_step** (Tensor) - 当前step数即current_step。
**输出:**
标量Tensor。当前step的学习率值。
**异常:**
- **TypeError** - `min_lr``max_lr` 不是float。
- **TypeError** - `decay_steps` 不是整数。
- **ValueError** - `min_lr` 小于0或 `decay_steps` 小于1。
- **ValueError** - `max_lr` 小于或等于0。
异常:
- **TypeError** - `min_lr``max_lr` 不是float。
- **TypeError** - `decay_steps` 不是整数。
- **ValueError** - `min_lr` 小于0或 `decay_steps` 小于1。
- **ValueError** - `max_lr` 小于或等于0。

View File

@ -13,25 +13,21 @@ mindspore.nn.CosineEmbeddingLoss
max(0, cos(x_1, x_2)-margin), & \text{if } y = -1\\
\end{cases}
**参数:**
参数:
- **margin** (float) - 指定运算的调节因子,取值范围[-1.0, 1.0]。默认值0.0。
- **reduction** (str) - 指定输出结果的计算方式。可选值为"none"、"mean"或"sum",分别表示不指定计算方式、使用均值计算和使用求和计算。默认值:"mean"。
- **margin** (float) - 指定运算的调节因子,取值范围[-1.0, 1.0]。默认值0.0。
- **reduction** (str) - 指定输出结果的计算方式。可选值为"none"、"mean"或"sum",分别表示不指定计算方式、使用均值计算和使用求和计算。默认值:"mean"。
输入:
- **logits_x1** (Tensor) - 输入Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。
- **logits_x2** (Tensor) - 输入Tensorshape :math:`(N,*)` 。shape和数据类型与 `logits_x1` 相同。
- **labels** (Tensor) - 输入值为1或-1。假设 `logits_x1` 的shape是 :math:`(x_1, x_2, x_3, ..., x_R)` ,那么 `labels` 的shape必须是 :math:`(x_1, x_3, x_4, ..., x_R)`
**输入:**
输出:
Tensor或Scalar如果 `reduction` 为"none"其shape与 `labels` 相同。否则将返回为Scalar。
- **logits_x1** (Tensor) - 输入Tensorshape :math:`(N,*)` ,其中 `*` 代表任意数量的附加维度。
- **logits_x2** (Tensor) - 输入Tensorshape :math:`(N,*)` 。shape和数据类型与 `logits_x1` 相同。
- **labels** (Tensor) - 输入值为1或-1。假设 `logits_x1` 的shape是 :math:`(x_1, x_2, x_3, ..., x_R)` ,那么 `labels` 的shape必须是 :math:`(x_1, x_3, x_4, ..., x_R)`
**输出:**
Tensor或Scalar如果 `reduction` 为"none"其shape与 `labels` 相同。否则将返回为Scalar。
**异常:**
- **TypeError** - `margin` 不是float。
- **ValueError** - `reduction` 不为"none"、"mean"或"sum"。
- **ValueError** - `margin` 的值不在范围[-1.0, 1.0]内。
异常:
- **TypeError** - `margin` 不是float。
- **ValueError** - `reduction` 不为"none"、"mean"或"sum"。
- **ValueError** - `margin` 的值不在范围[-1.0, 1.0]内。

View File

@ -5,11 +5,10 @@ mindspore.nn.CosineSimilarity
计算余弦相似度。
**参数:**
- **similarity** (str) - "dot"或"cosine"。"cosine"表示相似度计算逻辑, "dot"表示矩阵点乘矩阵计算逻辑。默认值:"cosine"。
- **reduction** (str) - "none"、"sum"或"mean"。默认值:"none"。
- **zero_diagonal** (bool) - 如果为True则对角线将设置为零。默认值True。
参数:
- **similarity** (str) - "dot"或"cosine"。"cosine"表示相似度计算逻辑, "dot"表示矩阵点乘矩阵计算逻辑。默认值:"cosine"。
- **reduction** (str) - "none"、"sum"或"mean"。默认值:"none"。
- **zero_diagonal** (bool) - 如果为True则对角线将设置为零。默认值True。
.. py:method:: clear()
@ -19,18 +18,15 @@ mindspore.nn.CosineSimilarity
计算Cosine Similarity矩阵。
**返回:**
返回:
numpy.ndarray相似度矩阵。
numpy.ndarray相似度矩阵。
**异常:**
- **RuntimeError** - 如果没有先调用update方法。
异常:
- **RuntimeError** - 如果没有先调用update方法。
.. py:method:: update(*inputs)
使用y_pred和y更新内部评估结果。
**参数:**
- **inputs** (Union[Tensor, list, numpy.ndarray]) - 输入的矩阵。
参数:
- **inputs** (Union[Tensor, list, numpy.ndarray]) - 输入的矩阵。

View File

@ -48,30 +48,26 @@ mindspore.nn.CrossEntropyLoss
\text{if reduction} = \text{'sum'.}
\end{cases}
**参数:**
参数:
- **weight** (Tensor): 指定各类别的权重。若值不为None则shape为 (C,)。数据类型仅支持float32或float16。默认值: None。
- **ignore_index** (int): 指定target中需要忽略的值(一般为填充值),使其不对梯度产生影响。默认值: -100。
- **reduction** (str): 指定应用于输出结果的计算方式,比如'none'、'mean'、'sum'。默认值:'mean'。
- **label_smoothing** (float): 标签平滑值用于计算Loss时防止模型过拟合的正则化手段。取值范围为[0.0, 1.0]。 默认值: 0.0。
- **weight** (Tensor): 指定各类别的权重。若值不为None则shape为 (C,)。数据类型仅支持float32或float16。默认值: None。
- **ignore_index** (int): 指定target中需要忽略的值(一般为填充值),使其不对梯度产生影响。默认值: -100。
- **reduction** (str): 指定应用于输出结果的计算方式,比如'none'、'mean'、'sum'。默认值:'mean'。
- **label_smoothing** (float): 标签平滑值用于计算Loss时防止模型过拟合的正则化手段。取值范围为[0.0, 1.0]。 默认值: 0.0。
输入:
- **logits** (Tensor) - 输入预测值shape为 :math:`(N, C)`:math:`(N, C, H, W)`
(针对二维数据), 或 :math:`(N, C, d_1, d_2, ..., d_K)` (针对高维数据)。输入值需为对数概率。数据类型仅支持float32或float16。
- **labels** (Tensor) - 输入目标值shape为 :math:`(N)`:math:`(N, d_1, d_2, ..., d_K)`
(针对高维数据)。
**输入:**
返回:
Tensor一个数据类型与logits相同的Tensor。
- **logits** (Tensor) - 输入预测值shape为 :math:`(N, C)`:math:`(N, C, H, W)`
(针对二维数据), 或 :math:`(N, C, d_1, d_2, ..., d_K)` (针对高维数据)。输入值需为对数概率。数据类型仅支持float32或float16。
- **labels** (Tensor) - 输入目标值shape为 :math:`(N)`:math:`(N, d_1, d_2, ..., d_K)`
(针对高维数据)。
**返回:**
Tensor一个数据类型与logits相同的Tensor。
**异常:**
- **TypeError** - `weight` 不是Tensor。
- **TypeError** - `weight` 的dtype既不是float16也不是float32。
- **TypeError** - `ignore_index` 不是int。
- **ValueError** - `reduction` 不为"mean"、"sum",或"none"。
- **TypeError** - `label_smoothing` 不是float。
- **TypeError** - `logits` 不是Tensor。
- **TypeError** - `labels` 不是Tensor。
异常:
- **TypeError** - `weight` 不是Tensor。
- **TypeError** - `weight` 的dtype既不是float16也不是float32。
- **TypeError** - `ignore_index` 不是int。
- **ValueError** - `reduction` 不为"mean"、"sum",或"none"。
- **TypeError** - `label_smoothing` 不是float。
- **TypeError** - `logits` 不是Tensor。
- **TypeError** - `labels` 不是Tensor。

View File

@ -10,9 +10,8 @@ mindspore.nn.Dice
.. math::
dice = \frac{2 * (pred \bigcap true)}{pred \bigcup true}
**参数:**
- **smooth** (float) - 在计算过程中添加到分母里用于提高数值稳定性取值需大于0。默认值1e-5。
参数:
- **smooth** (float) - 在计算过程中添加到分母里用于提高数值稳定性取值需大于0。默认值1e-5。
.. py:method:: clear()
@ -22,23 +21,19 @@ mindspore.nn.Dice
计算Dice系数。
**返回:**
返回:
Float计算的结果。
Float计算的结果。
**异常:**
- **RuntimeError** - 样本数为0。
异常:
- **RuntimeError** - 样本数为0。
.. py:method:: update(*inputs)
更新内部评估结果 `y_pred``y`
**参数:**
参数:
- **inputs** (tuple) -输入 `y_pred``y``y_pred``y` 是tensor、列表或numpy.ndarray。 `y_pred` 是预测值, `y` 是真实值。 `y_pred``y` 的shape都是 `(N, ...)`
- **inputs** (tuple) -输入 `y_pred``y``y_pred``y` 是tensor、列表或numpy.ndarray。 `y_pred` 是预测值, `y` 是真实值。 `y_pred``y` 的shape都是 `(N, ...)`
**异常:**
- **ValueError** - 输入参数的数量不等于2。
- **ValueError** - 如果预测值和标签shape不一致。
异常:
- **ValueError** - 输入参数的数量不等于2。
- **ValueError** - 如果预测值和标签shape不一致。

View File

@ -13,23 +13,18 @@ mindspore.nn.DiceLoss
:math:`pred` 表示 `logits` :math:`true` 表示 `labels`
**参数:**
参数:
- **smooth** (float) - 将添加到分母中以提高数值稳定性的参数。取值大于0。默认值1e-5。
- **smooth** (float) - 将添加到分母中以提高数值稳定性的参数。取值大于0。默认值1e-5。
输入:
- **logits** (Tensor) - 输入预测值任意维度的Tensor。数据类型必须为float16或float32。
- **labels** (Tensor) - 输入目标值任意维度的Tensor一般与 `logits` 的shape相同。 数据类型必须为float16或float32。
**输入:**
- **logits** (Tensor) - 输入预测值任意维度的Tensor。数据类型必须为float16或float32。
- **labels** (Tensor) - 输入目标值任意维度的Tensor一般与 `logits` 的shape相同。 数据类型必须为float16或float32。
**输出:**
Tensorshape为每样本采样的Dice系数的Tensor。
**异常:**
- **ValueError** - `logits` 的维度与 `labels` 不同。
- **TypeError** - `logits``labels` 的类型不是Tensor。
输出:
Tensorshape为每样本采样的Dice系数的Tensor。
异常:
- **ValueError** - `logits` 的维度与 `labels` 不同。
- **TypeError** - `logits``labels` 的类型不是Tensor。

View File

@ -7,14 +7,12 @@ mindspore.nn.DistributedGradReducer
用于数据并行模式中对所有卡的梯度利用AllReduce进行聚合。
**参数:**
参数:
- **parameters** (list) - 需要更新的参数。
- **mean** (bool) - 当mean为True时对AllReduce之后的梯度求均值。默认值True。
- **degree** (int) - 平均系数通常等于设备编号。默认值None。
- **fusion_type** (int) - AllReduce算子的融合类型。默认值1。
- **group** (str) - AllReduce算子的通信域若需要自定义通信域需要调用create_group接口。默认值GlobalComm.WORLD_COMM_GROUP。
- **parameters** (list) - 需要更新的参数。
- **mean** (bool) - 当mean为True时对AllReduce之后的梯度求均值。默认值True。
- **degree** (int) - 平均系数通常等于设备编号。默认值None。
- **fusion_type** (int) - AllReduce算子的融合类型。默认值1。
- **group** (str) - AllReduce算子的通信域若需要自定义通信域需要调用create_group接口。默认值GlobalComm.WORLD_COMM_GROUP。
**异常:**
- **ValueError** - 如果degree不是int或小于0。
异常:
- **ValueError** - 如果degree不是int或小于0。

View File

@ -12,23 +12,19 @@ mindspore.nn.Dropout
.. note::
训练过程中每步对同一通道(或神经元)独立进行丢弃。
**参数:**
参数:
- **keep_prob** (float) - 输入神经元保留率数值范围在0到1之间。例如rate=0.9删除10%的神经元。默认值0.5。
- **dtype** (:class:`mindspore.dtype`) - `x` 的数据类型。默认值mstype.float32。
- **keep_prob** (float) - 输入神经元保留率数值范围在0到1之间。例如rate=0.9删除10%的神经元。默认值0.5。
- **dtype** (:class:`mindspore.dtype`) - `x` 的数据类型。默认值mstype.float32。
输入:
- **x** (Tensor) - Dropout的输入任意维度的Tensor。数据类型必须为float16或float32。
**输入:**
输出:
Tensor输出为Tensor其shape与 `x` shape相同。
- **x** (Tensor) - Dropout的输入任意维度的Tensor。数据类型必须为float16或float32。
**输出:**
Tensor输出为Tensor其shape与 `x` shape相同。
**异常:**
- **TypeError** - `keep_prob` 不是浮点数。
- **TypeError** - `x` 的dtype既不是float16也不是float32。
- **ValueError** - `keep_prob` 不在范围(0, 1]内。
- **ValueError** - `x` 的shape长度小于1。
异常:
- **TypeError** - `keep_prob` 不是浮点数。
- **TypeError** - `x` 的dtype既不是float16也不是float32。
- **ValueError** - `keep_prob` 不在范围(0, 1]内。
- **ValueError** - `x` 的shape长度小于1。

View File

@ -9,20 +9,17 @@ mindspore.nn.DynamicLossScaleUpdateCell
该类是 :class:`mindspore.DynamicLossScaleManager``get_update_cell` 方法的返回值。训练过程中,类 :class:`mindspore.nn.TrainOneStepWithLossScaleCell` 会调用该Cell来更新损失缩放系数。
**参数:**
参数:
- **loss_scale_value** (float) - 初始的损失缩放系数。
- **scale_factor** (int) - 增减系数。
- **scale_window** (int) - 未溢出时,增大损失缩放系数的最大连续训练步数。
- **loss_scale_value** (float) - 初始的损失缩放系数。
- **scale_factor** (int) - 增减系数。
- **scale_window** (int) - 未溢出时,增大损失缩放系数的最大连续训练步数
输入:
- **loss_scale** (Tensor) - 训练期间的损失缩放系数,是一个标量
- **overflow** (bool) - 是否发生溢出
**输入:**
- **loss_scale** (Tensor) - 训练期间的损失缩放系数,是一个标量。
- **overflow** (bool) - 是否发生溢出。
**输出:**
Bool即输入 `overflow`
输出:
Bool即输入 `overflow`
.. py:method:: get_loss_scale()

View File

@ -18,20 +18,16 @@ mindspore.nn.ELU
ELU相关图参见 `ELU <https://en.wikipedia.org/wiki/Activation_function#/media/File:Activation_elu.svg>`_
**参数:**
参数:
- **alpha** (`float`) - ELU的alpha值数据类型为浮点数。默认值1.0。
- **alpha** (`float`) - ELU的alpha值数据类型为浮点数。默认值1.0。
输入:
- **x** Tensor - 用于计算ELU的任意维度的Tensor数据类型为float16或float32。
**输入:**
输出:
Tensor数据类型和shape与 `x` 相同。
- **x** Tensor - 用于计算ELU的任意维度的Tensor数据类型为float16或float32。
**输出:**
Tensor数据类型和shape与 `x` 相同。
**异常:**
- **TypeError** - `alpha` 不是浮点数。
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
- **ValueError** - `alpha` 不等于1.0。
异常:
- **TypeError** - `alpha` 不是浮点数。
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
- **ValueError** - `alpha` 不等于1.0。

View File

@ -10,25 +10,21 @@ mindspore.nn.Embedding
.. note::
`use_one_hot` 等于True时x的类型必须是mindpore.int32。
**参数:**
参数:
- **vocab_size** (int) - 词典的大小。
- **embedding_size** (int) - 每个嵌入向量的大小。
- **use_one_hot** (bool) - 指定是否使用one-hot形式。默认值False。
- **embedding_table** (Union[Tensor, str, Initializer, numbers.Number]) - embedding_table的初始化方法。当指定为字符串字符串取值请参见类 `mindspore.common.initializer` 。默认值:'normal'。
- **dtype** (mindspore.dtype) - x的数据类型。默认值mindspore.float32。
- **padding_idx** (int, None) - 将 `padding_idx` 对应索引所输出的嵌入向量用零填充。默认值None。该功能已停用。
- **vocab_size** (int) - 词典的大小。
- **embedding_size** (int) - 每个嵌入向量的大小。
- **use_one_hot** (bool) - 指定是否使用one-hot形式。默认值False。
- **embedding_table** (Union[Tensor, str, Initializer, numbers.Number]) - embedding_table的初始化方法。当指定为字符串字符串取值请参见类 `mindspore.common.initializer` 。默认值:'normal'。
- **dtype** (mindspore.dtype) - x的数据类型。默认值mindspore.float32。
- **padding_idx** (int, None) - 将 `padding_idx` 对应索引所输出的嵌入向量用零填充。默认值None。该功能已停用。
输入:
- **x** (Tensor) - Tensor的shape为 :math:`(\text{batch_size}, \text{x_length})` 其元素为整型值并且元素数目必须小于等于vocab_size否则相应的嵌入向量将为零。该数据类型可以是int32或int64。
**输入:**
输出:
Tensor的shape :math:`(\text{batch_size}, \text{x_length}, \text{embedding_size})`
- **x** (Tensor) - Tensor的shape为 :math:`(\text{batch_size}, \text{x_length})` 其元素为整型值并且元素数目必须小于等于vocab_size否则相应的嵌入向量将为零。该数据类型可以是int32或int64。
**输出:**
Tensor的shape :math:`(\text{batch_size}, \text{x_length}, \text{embedding_size})`
**异常:**
- **TypeError** - 如果 `vocab_size` 或者 `embedding_size` 不是整型值。
- **TypeError** - 如果 `use_one_hot` 不是布尔值。
- **ValueError** - 如果 `padding_idx` 是一个不在[0, `vocab_size` ]范围内的整数。
异常:
- **TypeError** - 如果 `vocab_size` 或者 `embedding_size` 不是整型值。
- **TypeError** - 如果 `use_one_hot` 不是布尔值。
- **ValueError** - 如果 `padding_idx` 是一个不在[0, `vocab_size` ]范围内的整数。

View File

@ -12,33 +12,29 @@ mindspore.nn.EmbeddingLookup
当'target'设置为'DEVICE'时此模块将使用ops.Gather()在lookup表指定了'axis = 0'。
在字段切片模式下必须指定manual_shapes。此tuple包含vocab[i]元素, vocab[i]是第i部分的行号。
**参数:**
参数:
- **vocab_size** (int) - 嵌入词典的大小。
- **embedding_size** (int) - 每个嵌入向量的大小。
- **param_init** (Union[Tensor, str, Initializer, numbers.Number]) - embedding_table的初始化方法。当指定为字符串字符串取值请参见类 `Initializer` 。默认值:'normal'。
- **target** (str) - 指定执行操作的'target'。取值范围为['DEVICE', 'CPU']。默认值:'CPU'。
- **slice_mode** (str) - semi_auto_parallel或auto_parallel模式下的切片方式。该值必须通过 :class:`.nn.EmbeddingLookup` 获得。默认值:'nn.EmbeddingLookup.BATCH_SLICE'。
- **manual_shapes** (tuple) - 字段切片模式下的伴随数组accompaniment array默认值None。
- **max_norm** (Union[float, None]) - 最大剪切值。数据类型必须为float16、float32或None。默认值None。
- **sparse** (bool) - 使用稀疏模式。当'target'设置为'CPU'时,'sparse'必须为True。默认值True。
- **vocab_cache_size** (int) - 嵌入字典的缓存大小。默认值0。仅在训练模式和'DEVICE'目标中有效。相应优化器的力矩参数也将设置为缓存大小。此外需注意,它还会消耗'DEVICE'内存,因此建议合理设置参数值,避免内存不足。
- **vocab_size** (int) - 嵌入词典的大小。
- **embedding_size** (int) - 每个嵌入向量的大小。
- **param_init** (Union[Tensor, str, Initializer, numbers.Number]) - embedding_table的初始化方法。当指定为字符串字符串取值请参见类 `Initializer` 。默认值:'normal'。
- **target** (str) - 指定执行操作的'target'。取值范围为['DEVICE', 'CPU']。默认值:'CPU'。
- **slice_mode** (str) - semi_auto_parallel或auto_parallel模式下的切片方式。该值必须通过 :class:`.nn.EmbeddingLookup` 获得。默认值:'nn.EmbeddingLookup.BATCH_SLICE'。
- **manual_shapes** (tuple) - 字段切片模式下的伴随数组accompaniment array默认值None。
- **max_norm** (Union[float, None]) - 最大剪切值。数据类型必须为float16、float32或None。默认值None。
- **sparse** (bool) - 使用稀疏模式。当'target'设置为'CPU'时,'sparse'必须为True。默认值True。
- **vocab_cache_size** (int) - 嵌入字典的缓存大小。默认值0。仅在训练模式和'DEVICE'目标中有效。相应优化器的力矩参数也将设置为缓存大小。此外需注意,它还会消耗'DEVICE'内存,因此建议合理设置参数值,避免内存不足。
输入:
- **input_indices** (Tensor) - shape为 :math:`(y_1, y_2, ..., y_S)` 的Tensor。指定原始Tensor元素的索引。当取值超出embedding_table的范围时超出部分在输出中填充为0。不支持负值如果为负值则结果未定义。在semi auto parallel或auto parallel模式下运行时Input_indices只能是此接口中的二维Tensor。
**输入:**
输出:
Tensorshape为 :math:`(z_1, z_2, ..., z_N)` 的Tensor。
- **input_indices** (Tensor) - shape为 :math:`(y_1, y_2, ..., y_S)` 的Tensor。指定原始Tensor元素的索引。当取值超出embedding_table的范围时超出部分在输出中填充为0。不支持负值如果为负值则结果未定义。在semi auto parallel或auto parallel模式下运行时Input_indices只能是此接口中的二维Tensor。
**输出:**
Tensorshape为 :math:`(z_1, z_2, ..., z_N)` 的Tensor。
**异常:**
- **TypeError** - `vocab_size``embedding_size``vocab_cache_size` 不是整数。
- **TypeError** - `sparse` 不是bool或 `manual_shapes` 不是tuple。
- **ValueError** - `vocab_size``embedding_size` 小于1。
- **ValueError** - `vocab_cache_size` 小于0。
- **ValueError** - `target` 既不是'CPU'也不是'DEVICE'。
- **ValueError** - `slice_mode` 不是'batch_slice'、'field_slice'、'table_row_slice'或'table_column_slice'。
- **ValueError** - `sparse` 为False且 `target` 为'CPU'。
- **ValueError** - `slice_mode` 为'field_slice'且 `manual_shapes` 是None。
异常:
- **TypeError** - `vocab_size``embedding_size``vocab_cache_size` 不是整数。
- **TypeError** - `sparse` 不是bool或 `manual_shapes` 不是tuple。
- **ValueError** - `vocab_size``embedding_size` 小于1。
- **ValueError** - `vocab_cache_size` 小于0。
- **ValueError** - `target` 既不是'CPU'也不是'DEVICE'。
- **ValueError** - `slice_mode` 不是'batch_slice'、'field_slice'、'table_row_slice'或'table_column_slice'。
- **ValueError** - `sparse` 为False且 `target` 为'CPU'。
- **ValueError** - `slice_mode` 为'field_slice'且 `manual_shapes` 是None。

View File

@ -20,24 +20,20 @@ mindspore.nn.ExponentialDecayLR
.. math::
p = floor(\frac{current\_step}{decay\_steps})
**参数:**
参数:
- **learning_rate** (float): 学习率的初始值。
- **decay_rate** (float): 衰减率。
- **decay_steps** (int): 进行衰减的step数。
- **is_stair** (bool): 如果为True则学习率每 `decay_steps` 步衰减一次。默认值False。
- **learning_rate** (float): 学习率的初始值。
- **decay_rate** (float): 衰减率。
- **decay_steps** (int): 进行衰减的step数。
- **is_stair** (bool): 如果为True则学习率每 `decay_steps` 步衰减一次。默认值False。
输入:
- **global_step** (Tensor) - 当前step数即current_step。
**输入:**
输出:
标量Tensor。当前step的学习率值。
- **global_step** (Tensor) - 当前step数即current_step。
**输出:**
标量Tensor。当前step的学习率值。
**异常:**
- **TypeError** - `learning_rate``decay_rate` 不是float。
- **TypeError** - `decay_steps` 不是int或 `is_stair` 不是bool。
- **ValueError** - `decay_steps` 小于1。
- **ValueError** - `learning_rate``decay_rate` 小于或等于0。
异常:
- **TypeError** - `learning_rate``decay_rate` 不是float。
- **TypeError** - `decay_steps` 不是int或 `is_stair` 不是bool。
- **ValueError** - `decay_steps` 小于1。
- **ValueError** - `learning_rate``decay_rate` 小于或等于0。

View File

@ -30,50 +30,46 @@ mindspore.nn.FTRL
.. include:: mindspore.nn.optim_note_weight_decay.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_param.rst
- **lr** - 学习率当前不支持参数分组。
- **lr** - 学习率当前不支持参数分组。
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_order.rst
- **initial_accum** (float) - 累加器 `m` 的初始值必须大于等于零。默认值0.1。
- **learning_rate** (float) - 学习速率值必须为零或正数当前不支持动态学习率。默认值0.001。
- **lr_power** (float) - 学习率的幂值控制训练期间学习率的下降方式必须小于或等于零。如果lr_power为零则使用固定的学习率。默认值-0.5。
- **l1** (float)l1正则化强度必须大于等于零。默认值0.0。
- **l2** (float)l2正则化强度必须大于等于零。默认值0.0。
- **use_locking** (bool) - 如果为True则更新操作使用锁保护。默认值False。
- **initial_accum** (float) - 累加器 `m` 的初始值必须大于等于零。默认值0.1。
- **learning_rate** (float) - 学习速率值必须为零或正数当前不支持动态学习率。默认值0.001。
- **lr_power** (float) - 学习率的幂值控制训练期间学习率的下降方式必须小于或等于零。如果lr_power为零则使用固定的学习率。默认值-0.5。
- **l1** (float)l1正则化强度必须大于等于零。默认值0.0。
- **l2** (float)l2正则化强度必须大于等于零。默认值0.0。
- **use_locking** (bool) - 如果为True则更新操作使用锁保护。默认值False。
.. include:: mindspore.nn.optim_arg_loss_scale.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
输入:
- **grads** (tuple[Tensor]) - 优化器中 `params` 的梯度shape与优化器中的 `params` 相同。
**输入:**
输出:
tuple[Parameter]更新的参数shape与 `params` 相同。
- **grads** (tuple[Tensor]) - 优化器中 `params` 的梯度shape与优化器中的 `params` 相同。
**输出:**
tuple[Parameter]更新的参数shape与 `params` 相同。
**异常:**
- **TypeError** - `initial_accum``learning_rate``lr_power``l1``l2``loss_scale` 不是float。
- **TypeError** - `parameters` 的元素不是Parameter或dict。
- **TypeError** - `weight_decay` 不是float或int。
- **TypeError** - `use_nesterov` 不是bool。
- **ValueError** - `lr_power` 大于0。
- **ValueError** - `loss_scale` 小于等于0。
- **ValueError** - `initial_accum``l1``l2` 小于0。
异常:
- **TypeError** - `initial_accum``learning_rate``lr_power``l1``l2``loss_scale` 不是float。
- **TypeError** - `parameters` 的元素不是Parameter或dict。
- **TypeError** - `weight_decay` 不是float或int。
- **TypeError** - `use_nesterov` 不是bool。
- **ValueError** - `lr_power` 大于0。
- **ValueError** - `loss_scale` 小于等于0。
- **ValueError** - `initial_accum``l1``l2` 小于0。
.. include:: mindspore.nn.optim_target_unique_for_sparse.rst

View File

@ -15,14 +15,11 @@ mindspore.nn.FastGelu
其中 :math:`x_i` 是输入的元素。
**输入:**
输入:
- **x** (Tensor) - 用于计算FastGelu的Tensor。数据类型为float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任意的附加维度数。
- **x** (Tensor) - 用于计算FastGelu的Tensor。数据类型为float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任意的附加维度数。
输出:
Tensor具有与 `x` 相同的数据类型和shape。
**输出:**
Tensor具有与 `x` 相同的数据类型和shape。
**异常:**
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
异常:
- **TypeError** - `x` 的数据类型既不是float16也不是float32。

View File

@ -11,9 +11,8 @@ mindspore.nn.Fbeta
F_\beta=\frac{(1+\beta^2) \cdot true\_positive}
{(1+\beta^2) \cdot true\_positive +\beta^2 \cdot false\_negative + false\_positive}
**参数:**
- **beta** (Union[float, int]) - F-measure中的beta系数 。
参数:
- **beta** (Union[float, int]) - F-measure中的beta系数 。
.. py:method:: clear()
@ -23,25 +22,21 @@ mindspore.nn.Fbeta
计算fbeta结果。
**参数:**
参数:
- **average** (bool) - 是否计算fbeta平均值。默认值False。
- **average** (bool) - 是否计算fbeta平均值。默认值False。
**返回:**
numpy.ndarray或numpy.float64计算的Fbeta score结果。
返回:
numpy.ndarray或numpy.float64计算的Fbeta score结果。
.. py:method:: update(*inputs)
使用预测值 `y_pred` 和真实标签 `y` 更新内部评估结果。
**参数:**
参数:
- **inputs** - `y_pred``y``y_pred``y` 支持Tensor、list或numpy.ndarray类型。
通常情况下, `y_pred` 是0到1之间的浮点数列表shape为 :math:`(N, C)` ,其中 :math:`N` 是样本数, :math:`C` 是类别数。
`y` 是整数值如果使用one-hot编码则shape为 :math:`(N,C)` 如果使用类别索引shape是 :math:`(N,)`
- **inputs** - `y_pred``y``y_pred``y` 支持Tensor、list或numpy.ndarray类型。
通常情况下, `y_pred` 是0到1之间的浮点数列表shape为 :math:`(N, C)` ,其中 :math:`N` 是样本数, :math:`C` 是类别数。
`y` 是整数值如果使用one-hot编码则shape为 :math:`(N,C)` 如果使用类别索引shape是 :math:`(N,)`
**异常:**
- **ValueError** - 当前输入的 `y_pred` 和历史 `y_pred` 类别数不匹配。
- **ValueError** - 预测值和真实值包含的类别不同。
异常:
- **ValueError** - 当前输入的 `y_pred` 和历史 `y_pred` 类别数不匹配。
- **ValueError** - 预测值和真实值包含的类别不同。

View File

@ -7,18 +7,15 @@ mindspore.nn.FixedLossScaleUpdateCell
该类是 :class:`mindspore.FixedLossScaleManager``get_update_cell` 方法的返回值。训练过程中,类 :class:`mindspore.nn.TrainOneStepWithLossScaleCell` 会调用该Cell。
**参数:**
参数:
- **loss_scale_value** (float) - 初始损失缩放系数。
- **loss_scale_value** (float) - 初始损失缩放系数。
输入:
- **loss_scale** (Tensor) - 训练期间的损失缩放系数,是一个标量。在当前类中,该值被忽略。
- **overflow** (bool) - 是否发生溢出。
**输入:**
- **loss_scale** (Tensor) - 训练期间的损失缩放系数,是一个标量。在当前类中,该值被忽略。
- **overflow** (bool) - 是否发生溢出。
**输出:**
Bool即输入 `overflow`
输出:
Bool即输入 `overflow`
.. py:method:: get_loss_scale()

View File

@ -5,14 +5,11 @@ mindspore.nn.Flatten
对输入Tensor的第0维之外的维度进行展平操作。
**输入:**
输入:
- **x** (Tensor) - 要展平的输入Tensor。数据类型为 `number <https://www.mindspore.cn/docs/zh-CN/master/api_python/mindspore/mindspore.dtype.html#mindspore.dtype>`_。shape为 :math:`(N, *)` ,其中 :math:`*` 表示任意的附加维度。
- **x** (Tensor) - 要展平的输入Tensor。数据类型为 `number <https://www.mindspore.cn/docs/zh-CN/master/api_python/mindspore/mindspore.dtype.html#mindspore.dtype>`_。shape为 :math:`(N, *)` ,其中 :math:`*` 表示任意的附加维度。
输出:
Tensorshape为 :math:`(N, X)`,其中 :math:`X` 是输入 `x` 的shape除N之外的其余维度的乘积。
**输出:**
Tensorshape为 :math:`(N, X)`,其中 :math:`X` 是输入 `x` 的shape除N之外的其余维度的乘积。
**异常:**
**TypeError** - `x` 不是Tensor。
异常:
**TypeError** - `x` 不是Tensor。

View File

@ -14,25 +14,21 @@ mindspore.nn.FocalLoss
.. math::
FL(p_t) = -(1-p_t)^\gamma log(p_t)
**参数:**
参数:
- **gamma** (float) - gamma用于调整Focal Loss的权重曲线的陡峭程度。默认值2.0。
- **weight** (Union[Tensor, None]) - Focal Loss的权重维度为1。如果为None则不使用权重。默认值None。
- **reduction** (str) - loss的计算方式。取值为"mean""sum",或"none"。默认值:"mean"。
- **gamma** (float) - gamma用于调整Focal Loss的权重曲线的陡峭程度。默认值2.0。
- **weight** (Union[Tensor, None]) - Focal Loss的权重维度为1。如果为None则不使用权重。默认值None。
- **reduction** (str) - loss的计算方式。取值为"mean""sum",或"none"。默认值:"mean"
输入:
- **logits** (Tensor) - shape为 :math:`(N, C)`:math:`(N, C, H)` 、或 :math:`(N, C, H, W)` 的Tensor其中 :math:`C` 是分类的数量值大于1。如果shape为 :math:`(N, C, H, W)`:math:`(N, C, H)` ,则 :math:`H`:math:`H`:math:`W` 的乘积应与 `labels` 的相同
- **labels** (Tensor) - shape为 :math:`(N, C)`:math:`(N, C, H)` 、或 :math:`(N, C, H, W)` 的Tensor :math:`C` 的值为1或者与 `logits`:math:`C` 相同。如果 :math:`C` 不为1则shape应与 `logits` 的shape相同其中 :math:`C` 是分类的数量。如果shape为 :math:`(N, C, H, W)`:math:`(N, C, H)` ,则 :math:`H`:math:`H`:math:`W` 的乘积应与 `logits` 相同
**输入:**
输出:
Tensor或Scalar如果 `reduction` 为"none"其shape与 `logits` 相同。否则将返回Scalar。
- **logits** (Tensor) - shape为 :math:`(N, C)`:math:`(N, C, H)` 、或 :math:`(N, C, H, W)` 的Tensor其中 :math:`C` 是分类的数量值大于1。如果shape为 :math:`(N, C, H, W)`:math:`(N, C, H)` ,则 :math:`H`:math:`H`:math:`W` 的乘积应与 `labels` 的相同。
- **labels** (Tensor) - shape为 :math:`(N, C)`:math:`(N, C, H)` 、或 :math:`(N, C, H, W)` 的Tensor :math:`C` 的值为1或者与 `logits`:math:`C` 相同。如果 :math:`C` 不为1则shape应与 `logits` 的shape相同其中 :math:`C` 是分类的数量。如果shape为 :math:`(N, C, H, W)`:math:`(N, C, H)` ,则 :math:`H`:math:`H`:math:`W` 的乘积应与 `logits` 相同。
**输出:**
Tensor或Scalar如果 `reduction` 为"none"其shape与 `logits` 相同。否则将返回Scalar。
**异常:**
- **TypeError** - `gamma` 的数据类型不是float。
- **TypeError** - `weight` 不是Tensor。
- **ValueError** - `labels` 维度与 `logits` 不同。
- **ValueError** - `labels` 通道不为1`labels` 的shape与 `logits` 不同。
- **ValueError** - `reduction` 不为"mean""sum",或"none"。
异常:
- **TypeError** - `gamma` 的数据类型不是float。
- **TypeError** - `weight` 不是Tensor。
- **ValueError** - `labels` 维度与 `logits` 不同。
- **ValueError** - `labels` 通道不为1`labels` 的shape与 `logits` 不同。
- **ValueError** - `reduction` 不为"mean""sum",或"none"。

View File

@ -8,20 +8,17 @@ mindspore.nn.ForwardValueAndGrad
包括正向网络和梯度函数。该类生成的Cell使用'\*inputs'输入来训练。
通过梯度函数来创建反向图,用以计算梯度。
**参数:**
参数:
- **network** (Cell) - 训练网络。
- **weights** (ParameterTuple) - 训练网络中需要计算梯度的的参数。
- **get_all** (bool) - 如果为True则计算网络输入对应的梯度。默认值False。
- **get_by_list** (bool) - 如果为True则计算参数变量对应的梯度。如果 `get_all``get_by_list` 都为False则计算第一个输入对应的梯度。如果 `get_all``get_by_list` 都为True则以输入的梯度,参数的梯度的形式同时获取输入和参数变量的梯度。默认值False。
- **sens_param** (bool) - 是否将sens作为输入。如果 `sens_param` 为False则sens默认为'ones_like(outputs)'。默认值False。如果 `sens_param` 为True则需要指定sens的值。
- **network** (Cell) - 训练网络。
- **weights** (ParameterTuple) - 训练网络中需要计算梯度的的参数。
- **get_all** (bool) - 如果为True则计算网络输入对应的梯度。默认值False。
- **get_by_list** (bool) - 如果为True则计算参数变量对应的梯度。如果 `get_all``get_by_list` 都为False则计算第一个输入对应的梯度。如果 `get_all``get_by_list` 都为True则以输入的梯度,参数的梯度的形式同时获取输入和参数变量的梯度。默认值False。
- **sens_param** (bool) - 是否将sens作为输入。如果 `sens_param` 为False则sens默认为'ones_like(outputs)'。默认值False。如果 `sens_param` 为True则需要指定sens的值。
输入:
- **(\*inputs)** (Tuple(Tensor...)) - shape为 :math:`(N, \ldots)` 的输入tuple。
- **(sens)** - 反向传播梯度的缩放值。如果网络有单个输出则sens是tensor。如果网络有多个输出则sens是tuple(tensor)。
**输入:**
- **(\*inputs)** (Tuple(Tensor...)) - shape为 :math:`(N, \ldots)` 的输入tuple。
- **(sens)** - 反向传播梯度的缩放值。如果网络有单个输出则sens是tensor。如果网络有多个输出则sens是tuple(tensor)。
**输出:**
- **forward value** - 网络运行的正向结果。
- **gradients** (tuple(tensor)) - 网络反向传播的梯度。
输出:
- **forward value** - 网络运行的正向结果。
- **gradients** (tuple(tensor)) - 网络反向传播的梯度。

View File

@ -17,22 +17,18 @@ mindspore.nn.GELU
GELU相关图参见 `GELU <https://en.wikipedia.org/wiki/Activation_function#/media/File:Activation_gelu.png>`_
**参数:**
参数:
- **approximate** (bool) - 是否启用approximation默认值True。如果approximate的值为True则高斯误差线性激活函数为:
- **approximate** (bool) - 是否启用approximation默认值True。如果approximate的值为True则高斯误差线性激活函数为:
:math:`0.5 * x * (1 + tanh(sqrt(2 / pi) * (x + 0.044715 * x^3)))`
:math:`0.5 * x * (1 + tanh(sqrt(2 / pi) * (x + 0.044715 * x^3)))`
否则为: :math:`x * P(X <= x) = 0.5 * x * (1 + erf(x / sqrt(2)))`, where P(X) ~ N(0, 1) 。
否则为: :math:`x * P(X <= x) = 0.5 * x * (1 + erf(x / sqrt(2)))`, where P(X) ~ N(0, 1) 。
输入:
- **x** Tensor - 用于计算GELU的Tensor。数据类型为float16或float32。shape是 :math:`(N,*)` :math:`*` 表示任意的附加维度数。
**输入:**
输出:
Tensor具有与 `x` 相同的数据类型和shape。
- **x** Tensor - 用于计算GELU的Tensor。数据类型为float16或float32。shape是 :math:`(N,*)` :math:`*` 表示任意的附加维度数。
**输出:**
Tensor具有与 `x` 相同的数据类型和shape。
**异常:**
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
异常:
- **TypeError** - `x` 的数据类型既不是float16也不是float32。

View File

@ -19,33 +19,29 @@ mindspore.nn.GRU
.. note:: 当GRU运行在Ascend上时hidden size仅支持16的倍数。
**参数:**
参数:
- **input_size** (int) - 输入的大小。
- **hidden_size** (int) - 隐藏状态大小。
- **num_layers** (int) - 网络层数。默认值1。
- **has_bias** (bool) - cell是否有偏置项 `b_{in}``b_{hn}` 。默认值True。
- **batch_first** (bool) - 指定输入 `x` 的第一个维度是否为batch_size。默认值False。
- **dropout** (float) - 指的是除第一层外每层输入时的Dropout概率。默认值0.0。Dropout的范围为[0.0, 1.0)。
- **bidirectional** (bool) - 是否为双向GRU。如果bidirectional=True则num_directions=2为双向GRU。否则为1单向GRU。默认值False。
- **input_size** (int) - 输入的大小。
- **hidden_size** (int) - 隐藏状态大小。
- **num_layers** (int) - 网络层数。默认值1。
- **has_bias** (bool) - cell是否有偏置项 `b_{in}``b_{hn}` 。默认值True。
- **batch_first** (bool) - 指定输入 `x` 的第一个维度是否为batch_size。默认值False。
- **dropout** (float) - 指的是除第一层外每层输入时的Dropout概率。默认值0.0。Dropout的范围为[0.0, 1.0)。
- **bidirectional** (bool) - 是否为双向GRU。如果bidirectional=True则num_directions=2为双向GRU。否则为1单向GRU。默认值False。
输入:
- **x** (Tensor) - 数据类型为mindspore.float32、shape为(seq_len, batch_size, `input_size`)或(batch_size, seq_len, `input_size`)的tensor。
- **hx** (Tensor) - 数据类型为mindspore.float32、shape为(num_directions * `num_layers` , batch_size, `hidden_size` )的tensor。 `hx` 的数据类型必须与 `x` 相同。
- **seq_length** (Tensor) - 输入batch中每个序列的长度。shape为 `(batch_size)` 的Tensor。默认值None。此输入指示填充前的真实序列长度避免填充元素被用于计算隐藏状态而影响最终输出。当 `x` 含填充元素时,建议使用此输入。
**输入:**
输出:
Tuple包含(`output`, `h_n`)的tuple。
- **x** (Tensor) - 数据类型为mindspore.float32、shape为(seq_len, batch_size, `input_size`)或(batch_size, seq_len, `input_size`)的tensor。
- **hx** (Tensor) - 数据类型为mindspore.float32、shape为(num_directions * `num_layers` , batch_size, `hidden_size` )的tensor。 `hx` 的数据类型必须与 `x` 相同。
- **seq_length** (Tensor) - 输入batch中每个序列的长度。shape为 `(batch_size)` 的Tensor。默认值None。此输入指示填充前的真实序列长度避免填充元素被用于计算隐藏状态而影响最终输出。当 `x` 含填充元素时,建议使用此输入。
- **output** (Tensor) - shape为(seq_len, batch_size, num_directions * `hidden_size`)或(batch_size, seq_len, num_directions * `hidden_size`)的Tensor。
- **hx_n** (Tensor) - shape为(num_directions * `num_layers`, batch_size, `hidden_size`)的Tensor。
**输出:**
Tuple包含(`output`, `h_n`)的tuple。
- **output** (Tensor) - shape为(seq_len, batch_size, num_directions * `hidden_size`)或(batch_size, seq_len, num_directions * `hidden_size`)的Tensor。
- **hx_n** (Tensor) - shape为(num_directions * `num_layers`, batch_size, `hidden_size`)的Tensor。
**异常:**
- **TypeError** - `input_size` `hidden_size``num_layers` 不是整数。
- **TypeError** - `has_bias` `batch_first``bibound` 不是bool。
- **TypeError** - `dropout` 既不是浮点数也不是整数。
- **ValueError** - `dropout` 不在[0.0, 1.0)范围内。
异常:
- **TypeError** - `input_size` `hidden_size``num_layers` 不是整数。
- **TypeError** - `has_bias` `batch_first``bibound` 不是bool。
- **TypeError** - `dropout` 既不是浮点数也不是整数。
- **ValueError** - `dropout` 不在[0.0, 1.0)范围内。

View File

@ -16,22 +16,18 @@ mindspore.nn.GRUCell
这里 :math:`\sigma` 是sigmoid激活函数 :math:`*` 是乘积。 :math:`W,b` 是公式中输出和输入之间的可学习权重。例如, :math:`W_{ir}, b_{ir}` 是用于将输入 :math:`x` 转换为 :math:`r` 的权重和偏置。详见论文 `Learning Phrase Representations using RNN EncoderDecoder for Statistical Machine Translation <https://aclanthology.org/D14-1179.pdf>`_
**参数:**
参数:
- **input_size** (int) - 输入的大小。
- **hidden_size** (int) - 隐藏状态大小。
- **has_bias** (bool) - cell是否有偏置项 `b_in``b_hn` 。默认值True。
- **input_size** (int) - 输入的大小。
- **hidden_size** (int) - 隐藏状态大小。
- **has_bias** (bool) - cell是否有偏置项 `b_in``b_hn` 。默认值True
输入:
- **x** (Tensor) - shape为(batch_size, `input_size` )的Tensor
- **hx** (Tensor) - 数据类型为mindspore.float32、shape为(batch_size, `hidden_size` )的Tensor。 `hx` 的数据类型必须与 `x` 相同
**输入:**
输出:
- **hx'** (Tensor) - shape为(batch_size, `hidden_size`)的Tensor。
- **x** (Tensor) - shape为(batch_size, `input_size` )的Tensor。
- **hx** (Tensor) - 数据类型为mindspore.float32、shape为(batch_size, `hidden_size` )的Tensor。 `hx` 的数据类型必须与 `x` 相同。
**输出:**
- **hx'** (Tensor) - shape为(batch_size, `hidden_size`)的Tensor。
**异常:**
- **TypeError** - `input_size``hidden_size` 不是int。
- **TypeError** - `has_bias` 不是bool值。
异常:
- **TypeError** - `input_size``hidden_size` 不是int。
- **TypeError** - `has_bias` 不是bool值。

View File

@ -5,12 +5,10 @@ mindspore.nn.GetNextSingleOp
用于获取下一条数据的Cell。更详细的信息请参考 `mindspore.ops.GetNext`
**参数:**
参数:
- **dataset_types** (list[:class:`mindspore.dtype`]) - 数据集类型。
- **dataset_shapes** (list[tuple[int]]) - 数据集的shape。
- **queue_name** (str) - 待获取数据的队列名称。
- **dataset_types** (list[:class:`mindspore.dtype`]) - 数据集类型。
- **dataset_shapes** (list[tuple[int]]) - 数据集的shape。
- **queue_name** (str) - 待获取数据的队列名称。
**输出:**
tuple[Tensor],从数据集中获取的数据。
输出:
tuple[Tensor],从数据集中获取的数据。

View File

@ -7,14 +7,12 @@ mindspore.nn.GraphCell
此功能仍在开发中。目前 `GraphCell` 不支持修改图结构在导出MindIR时只能使用shape和类型与输入相同的数据。
**参数:**
参数:
- **graph** (object) - 从MindIR加载的编译图。
- **params_init** (dict) - 需要在图中初始化的参数。key为参数名称类型为字符串value为 Tensor 或 Parameter。如果参数名在图中已经存在则更新其值如果不存在则忽略。默认值None。
- **graph** (object) - 从MindIR加载的编译图。
- **params_init** (dict) - 需要在图中初始化的参数。key为参数名称类型为字符串value为 Tensor 或 Parameter。如果参数名在图中已经存在则更新其值如果不存在则忽略。默认值None。
**异常:**
- **TypeError** - 如果图不是FuncGraph类型。
- **TypeError** - 如果 `params_init` 不是字典。
- **TypeError** - 如果 `params_init` 的key不是字符串。
- **TypeError** - 如果 `params_init` 的value既不是 Tensor也不是Parameter。
异常:
- **TypeError** - 如果图不是FuncGraph类型。
- **TypeError** - 如果 `params_init` 不是字典。
- **TypeError** - 如果 `params_init` 的key不是字符串。
- **TypeError** - 如果 `params_init` 的value既不是 Tensor也不是Parameter。

View File

@ -14,27 +14,23 @@ mindspore.nn.GroupNorm
.. math::
y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
**参数:**
参数:
- **num_groups** (int) - 沿通道维度待划分的组数。
- **num_channels** (int) - 输入的通道数。
- **eps** (float) - 添加到分母中的值以确保数值稳定。默认值1e-5。
- **affine** (bool) - Bool类型当设置为True时给该层添加可学习的仿射变换参数即gama与beta。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'、'xavier_uniform'、'he_uniform'等。默认值:'ones'。如果gamma_init是Tensor则shape必须为 :math:`(num\_channels)`
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'、'xavier_uniform'、'he_uniform'等。默认值:'zeros'如果gamma_init是Tensor则shape必须为 :math:`(num\_channels)`
- **num_groups** (int) - 沿通道维度待划分的组数。
- **num_channels** (int) - 输入的通道数。
- **eps** (float) - 添加到分母中的值以确保数值稳定。默认值1e-5。
- **affine** (bool) - Bool类型当设置为True时给该层添加可学习的仿射变换参数即gama与beta。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'、'xavier_uniform'、'he_uniform'等。默认值:'ones'。如果gamma_init是Tensor则shape必须为 :math:`(num\_channels)`
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `mindspore.common.initializer` ,包括'zeros'、'ones'、'xavier_uniform'、'he_uniform'等。默认值:'zeros'如果gamma_init是Tensor则shape必须为 :math:`(num\_channels)`
输入:
- **x** (Tensor) - shape为 :math:`(N, C, H, W)` 的特征输入。
**输入:**
输出:
Tensor标准化和缩放的偏移Tensor具有与 `x` 相同的shape和数据类型。
- **x** (Tensor) - shape为 :math:`(N, C, H, W)` 的特征输入。
**输出:**
Tensor标准化和缩放的偏移Tensor具有与 `x` 相同的shape和数据类型。
**异常:**
- **TypeError** - `num_groups``num_channels` 不是int。
- **TypeError** - `eps` 不是float。
- **TypeError** - `affine` 不是bool。
- **ValueError** - `num_groups``num_channels` 小于1。
- **ValueError** - `num_channels` 未被 `num_groups` 整除。
异常:
- **TypeError** - `num_groups``num_channels` 不是int。
- **TypeError** - `eps` 不是float。
- **TypeError** - `affine` 不是bool。
- **ValueError** - `num_groups``num_channels` 小于1。
- **ValueError** - `num_channels` 未被 `num_groups` 整除。

View File

@ -13,19 +13,15 @@ mindspore.nn.HShrink
0, & \text{ otherwise }
\end{cases}
**参数:**
参数:
- **lambd** (float) - Hard Shrink公式定义的阈值 :math:`\lambda` 。默认值0.5。
- **lambd** (float) - Hard Shrink公式定义的阈值 :math:`\lambda` 。默认值0.5。
输入:
- **input_x** (Tensor) - Hard Shrink的输入数据类型为float16或float32。
**输入:**
输出:
Tensorshape和数据类型与输入相同。
- **input_x** (Tensor) - Hard Shrink的输入数据类型为float16或float32。
**输出:**
Tensorshape和数据类型与输入相同。
**异常:**
- **TypeError** - `lambd` 不是float。
- **TypeError** - `input_x` 的dtype既不是float16也不是float32。
异常:
- **TypeError** - `lambd` 不是float。
- **TypeError** - `input_x` 的dtype既不是float16也不是float32。

View File

@ -12,14 +12,11 @@ mindspore.nn.HSigmoid
其中,:math:`x_i` 是输入Tensor的一个元素。
**输入:**
输入:
- **input_x** (Tensor) - Hard Sigmoid的输入任意维度的Tensor。
- **input_x** (Tensor) - Hard Sigmoid的输入任意维度的Tensor。
输出:
Tensor数据类型和shape与 `input_x` 的相同。
**输出:**
Tensor数据类型和shape与 `input_x` 的相同。
**异常:**
- **TypeError** - `input_x` 不是tensor。
异常:
- **TypeError** - `input_x` 不是tensor。

View File

@ -14,14 +14,11 @@ mindspore.nn.HSwish
其中, :math:`x_i` 是输入的元素。
**输入:**
输入:
- **x** (Tensor) - 用于计算Hard Swish的Tensor。数据类型必须是float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任意的附加维度数。
- **x** (Tensor) - 用于计算Hard Swish的Tensor。数据类型必须是float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任意的附加维度数。
输出:
Tensor具有与 `x` 相同的数据类型和shape。
**输出:**
Tensor具有与 `x` 相同的数据类型和shape。
**异常:**
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
异常:
- **TypeError** - `x` 的数据类型既不是float16也不是float32。

View File

@ -16,23 +16,19 @@ mindspore.nn.Hardtanh
线性区域范围 :math:`[-1, 1]` 可以使用 `min_val``max_val` 进行调整。
**参数:**
参数:
- **min_val** (Union[int, float]) - 线性区域范围的最小值。 默认值:-1.0。
- **max_val** (Union[int, float]) - 线性区域范围的最大值。 默认值1.0。
- **min_val** (Union[int, float]) - 线性区域范围的最小值。 默认值:-1.0。
- **max_val** (Union[int, float]) - 线性区域范围的最大值。 默认值1.0
输入:
- **x** (Tensor) - 数据类型为float16或float32的Tensor。在CPU和Ascend平台上支持0-7维。在GPU平台上支持0-4维
**输入:**
输出:
Tensor数据类型和shape与 `x` 的相同。
- **x** (Tensor) - 数据类型为float16或float32的Tensor。在CPU和Ascend平台上支持0-7维。在GPU平台上支持0-4维。
**输出:**
Tensor数据类型和shape与 `x` 的相同。
**异常:**
- **TypeError** - `x` 不是Tensor。
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
- **TypeError** - `min_val` 的数据类型既不是int也不是float。
- **TypeError** - `max_val` 的数据类型既不是int也不是float。
- **ValueError** - `max_val` 小于 `min_val`
异常:
- **TypeError** - `x` 不是Tensor。
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
- **TypeError** - `min_val` 的数据类型既不是int也不是float。
- **TypeError** - `max_val` 的数据类型既不是int也不是float。
- **ValueError** - `max_val` 小于 `min_val`

View File

@ -14,12 +14,11 @@ mindspore.nn.HausdorffDistance
其中h(A, B)表示对A中的每个点a找到B集合里的最近点这些最短距离的最大值为从A到B的单向Hausdorff距离同理h(B, A)为集合B到集合A中最近点的最大距离。Hausdoff距离是有方向性的通常情况下h(A, B)不等于h(B, A)。H(A, B)为双向Hausdorff距离。
**参数:**
- **distance_metric** (string) - 支持如下三种距离计算方法:"euclidean"、"chessboard" 或 "taxicab"。默认值:"euclidean"。
- **percentile** (float) - 0到100之间的浮点数。指定最终返回的Hausdorff距离的百分位数。默认值None。
- **directed** (bool) - 如果为True为单向Hausdorff距离只计算h(y_pred, y)距离如果为False为双向Hausdorff距离计算max(h(y_pred, y), h(y, y_pred))。默认值False。
- **crop** (bool) - 是否裁剪输入图像仅保留目标区域。为了保证y_pred和y的shape匹配使用(y_pred | y)即两图像的并集来确定bounding box。默认值True。
参数:
- **distance_metric** (string) - 支持如下三种距离计算方法:"euclidean"、"chessboard" 或 "taxicab"。默认值:"euclidean"。
- **percentile** (float) - 0到100之间的浮点数。指定最终返回的Hausdorff距离的百分位数。默认值None。
- **directed** (bool) - 如果为True为单向Hausdorff距离只计算h(y_pred, y)距离如果为False为双向Hausdorff距离计算max(h(y_pred, y), h(y, y_pred))。默认值False。
- **crop** (bool) - 是否裁剪输入图像仅保留目标区域。为了保证y_pred和y的shape匹配使用(y_pred | y)即两图像的并集来确定bounding box。默认值True。
.. py:method:: clear()
@ -29,25 +28,21 @@ mindspore.nn.HausdorffDistance
计算定向或非定向Hausdorff距离。
**返回:**
返回:
numpy.float64计算得到的Hausdorff距离。
numpy.float64计算得到的Hausdorff距离。
**异常:**
- **RuntimeError** - 如果没有先调用update方法。
异常:
- **RuntimeError** - 如果没有先调用update方法。
.. py:method:: update(*inputs)
使用 `y_pred``y``label_idx` 更新内部评估结果。
**参数:**
参数:
- **inputs** - `y_pred``y``label_idx``y_pred``y` 为Tensor list或numpy.ndarray`y_pred` 是预测的二值图像,`y` 是实际的二值图像。`label_idx` 的数据类型为int或float表示像素点的类别值。
- **inputs** - `y_pred``y``label_idx``y_pred``y` 为Tensor list或numpy.ndarray`y_pred` 是预测的二值图像,`y` 是实际的二值图像。`label_idx` 的数据类型为int或float表示像素点的类别值。
**异常:**
- **ValueError** - 输入的数量不等于3。
- **TypeError** - label_idx 的数据类型不是int或float。
- **ValueError** - label_idx 的值不在y_pred或y中。
- **ValueError** - y_pred 和 y 的shape不同。
异常:
- **ValueError** - 输入的数量不等于3。
- **TypeError** - label_idx 的数据类型不是int或float。
- **ValueError** - label_idx 的值不在y_pred或y中。
- **ValueError** - y_pred 和 y 的shape不同。

View File

@ -27,25 +27,21 @@ mindspore.nn.HuberLoss
\operatorname{sum}(L), & \text{if reduction} = \text{"sum".}
\end{cases}
**参数:**
参数:
- **reduction** (str) - 应用于loss的reduction类型。取值为"mean""sum",或"none"。默认值:"mean"。如果 `reduction` 为"mean"或"sum"则输出一个标量Tensor如果 `reduction` 为"none"则输出Tensor的shape为广播后的shape。
- **delta** (Union[int, float]) - 两种损失之间变化的阈值。该值必须为正。默认值1.0。
- **reduction** (str) - 应用于loss的reduction类型。取值为"mean""sum",或"none"。默认值:"mean"。如果 `reduction` 为"mean"或"sum"则输出一个标量Tensor如果 `reduction` 为"none"则输出Tensor的shape为广播后的shape。
- **delta** (Union[int, float]) - 两种损失之间变化的阈值。该值必须为正。默认值1.0。
输入:
- **logits** (Tensor) - 输入预测值任意维度的Tensor。其数据类型为float16或float32。
- **labels** (Tensor) - 目标值,通常情况下与 `logits` 的shape和dtype相同。但是如果 `logits``labels` 的shape不同需要保证他们之间可以互相广播。
**输入:**
输出:
Tensor或Scalar如果 `reduction` 为"none",返回与 `logits` 具有相同shape和dtype的Tensor。否则将返回一个Scalar。
- **logits** (Tensor) - 输入预测值任意维度的Tensor。其数据类型为float16或float32。
- **labels** (Tensor) - 目标值,通常情况下与 `logits` 的shape和dtype相同。但是如果 `logits``labels` 的shape不同需要保证他们之间可以互相广播。
**输出:**
Tensor或Scalar如果 `reduction` 为"none",返回与 `logits` 具有相同shape和dtype的Tensor。否则将返回一个Scalar。
**异常:**
- **TypeError** - `logits``labels` 的数据类型既不是float16也不是float32。
- **TypeError** - `logits``labels` 的数据类型不同。
- **TypeError** - `delta` 不是float或int。
- **ValueError** - `delta` 的值小于或等于0。
- **ValueError** - `reduction` 不为"mean"、"sum"或"none"。
- **ValueError** - `logits``labels` 有不同的shape且不能互相广播。
异常:
- **TypeError** - `logits``labels` 的数据类型既不是float16也不是float32。
- **TypeError** - `logits``labels` 的数据类型不同。
- **TypeError** - `delta` 不是float或int。
- **ValueError** - `delta` 的值小于或等于0。
- **ValueError** - `reduction` 不为"mean"、"sum"或"none"。
- **ValueError** - `logits``labels` 有不同的shape且不能互相广播。

View File

@ -14,15 +14,12 @@ mindspore.nn.ImageGradients
dx[i] = \begin{cases} image[:, i+1]-image[:, i], &if\ 0<=i<w-1 \cr
0, &if\ i==w-1\end{cases}
**输入:**
输入:
- **images** (Tensor) - 输入图像数据,格式为'NCHW'。
- **images** (Tensor) - 输入图像数据,格式为'NCHW'。
输出:
- **dy** (Tensor) - 垂直方向的图像梯度数据类型和shape与输入相同。
- **dx** (Tensor) - 水平方向的图像梯度数据类型和shape与输入相同。
**输出:**
- **dy** (Tensor) - 垂直方向的图像梯度数据类型和shape与输入相同。
- **dx** (Tensor) - 水平方向的图像梯度数据类型和shape与输入相同。
**异常:**
- **ValueError** - `images` 的shape长度不等于4。
异常:
- **ValueError** - `images` 的shape长度不等于4。

View File

@ -21,30 +21,26 @@ mindspore.nn.InstanceNorm1d
.. note::
需要注意的是,更新滑动平均和滑动方差的公式为 :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times x_t + \text{momentum} \times \hat{x}` ,其中 :math:`\hat{x}` 是估计的统计量, :math:`x_t` 是新的观察值。
**参数:**
参数:
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N, C, L)` 中的 `C`
- **eps** (float) - 添加到分母中的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.1。
- **affine** (bool) - bool类型。设置为True时可以学习gamma和beta参数。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N, C, L)` 中的 `C`
- **eps** (float) - 添加到分母中的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.1。
- **affine** (bool) - bool类型。设置为True时可以学习gamma和beta参数。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
输入:
- **x** (Tensor) - shape为 :math:`(N, C, L)` 的Tensor。数据类型为float16或float32。
**输入:**
输出:
Tensor归一化缩放偏移后的Tensor其shape为 :math:`(N, C, L)` 。类型和shape与 `x` 相同。
- **x** (Tensor) - shape为 :math:`(N, C, L)` 的Tensor。数据类型为float16或float32。
**输出:**
Tensor归一化缩放偏移后的Tensor其shape为 :math:`(N, C, L)` 。类型和shape与 `x` 相同。
**异常:**
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 的类型不是float。
- **TypeError** - `momentum` 的类型不是float。
- **TypeError** - `affine` 不是bool。
- **TypeError** - `gamma_init` / `beta_init` 的类型不相同或者初始化的元素类型不是float32。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **KeyError** - `gamma_init` / `beta_init` 中的任何一个是str并且不存在继承自 `Initializer` 的同义类。
异常:
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 的类型不是float。
- **TypeError** - `momentum` 的类型不是float。
- **TypeError** - `affine` 不是bool。
- **TypeError** - `gamma_init` / `beta_init` 的类型不相同或者初始化的元素类型不是float32。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **KeyError** - `gamma_init` / `beta_init` 中的任何一个是str并且不存在继承自 `Initializer` 的同义类。

View File

@ -21,30 +21,26 @@ mindspore.nn.InstanceNorm2d
.. note::
需要注意的是,更新滑动平均和滑动方差的公式为 :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times x_t + \text{momentum} \times \hat{x}` ,其中 :math:`\hat{x}` 是估计的统计量, :math:`x_t` 是新的观察值。
**参数:**
参数:
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N,C,H,W)` 中的 `C`
- **eps** (float) - 添加到分母中的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.1。
- **affine** (bool) - bool类型。设置为True时可以学习gamma和beta参数。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N,C,H,W)` 中的 `C`
- **eps** (float) - 添加到分母中的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.1。
- **affine** (bool) - bool类型。设置为True时可以学习gamma和beta参数。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
输入:
- **x** (Tensor) - shape为 :math:`(N, C, H, W)` 的Tensor。数据类型为float16或float32。
**输入:**
输出:
Tensor归一化缩放偏移后的Tensor其shape为 :math:`(N, C, H, W)` 。类型和shape与 `x` 相同。
- **x** (Tensor) - shape为 :math:`(N, C, H, W)` 的Tensor。数据类型为float16或float32。
**输出:**
Tensor归一化缩放偏移后的Tensor其shape为 :math:`(N, C, H, W)` 。类型和shape与 `x` 相同。
**异常:**
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 的类型不是float。
- **TypeError** - `momentum` 的类型不是float。
- **TypeError** - `affine` 不是bool。
- **TypeError** - `gamma_init` / `beta_init` 的类型不相同或者初始化的元素类型不是float32。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **KeyError** - `gamma_init` / `beta_init` 中的任何一个是str并且不存在继承自 `Initializer` 的同义类。
异常:
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 的类型不是float。
- **TypeError** - `momentum` 的类型不是float。
- **TypeError** - `affine` 不是bool。
- **TypeError** - `gamma_init` / `beta_init` 的类型不相同或者初始化的元素类型不是float32。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **KeyError** - `gamma_init` / `beta_init` 中的任何一个是str并且不存在继承自 `Initializer` 的同义类。

View File

@ -21,30 +21,26 @@ mindspore.nn.InstanceNorm3d
.. note::
需要注意的是,更新滑动平均和滑动方差的公式为 :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times x_t + \text{momentum} \times \hat{x}` ,其中 :math:`\hat{x}` 是估计的统计量, :math:`x_t` 是新的观察值。
**参数:**
参数:
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N, C, D, H, W)` 中的 `C`
- **eps** (float) - 添加到分母中的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.1。
- **affine** (bool) - bool类型。设置为True时可以学习gamma和beta参数。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
- **num_features** (int) - 通道数量输入Tensor shape :math:`(N, C, D, H, W)` 中的 `C`
- **eps** (float) - 添加到分母中的值以确保数值稳定。默认值1e-5。
- **momentum** (float) - 动态均值和动态方差所使用的动量。默认值0.1。
- **affine** (bool) - bool类型。设置为True时可以学习gamma和beta参数。默认值True。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - gamma参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - beta参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'等。默认值:'zeros'。
输入:
- **x** (Tensor) - shape为 :math:`(N, C, D, H, W)` 的Tensor。数据类型为float16或float32。
**输入:**
输出:
Tensor归一化缩放偏移后的Tensor其shape为 :math:`(N, C, D, H, W)` 。类型和shape与 `x` 相同。
- **x** (Tensor) - shape为 :math:`(N, C, D, H, W)` 的Tensor。数据类型为float16或float32。
**输出:**
Tensor归一化缩放偏移后的Tensor其shape为 :math:`(N, C, D, H, W)` 。类型和shape与 `x` 相同。
**异常:**
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 的类型不是float。
- **TypeError** - `momentum` 的类型不是float。
- **TypeError** - `affine` 不是bool。
- **TypeError** - `gamma_init` / `beta_init` 的类型不相同或者初始化的元素类型不是float32。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **KeyError** - `gamma_init` / `beta_init` 中的任何一个是str并且不存在继承自 `Initializer` 的同义类。
异常:
- **TypeError** - `num_features` 不是整数。
- **TypeError** - `eps` 的类型不是float。
- **TypeError** - `momentum` 的类型不是float。
- **TypeError** - `affine` 不是bool。
- **TypeError** - `gamma_init` / `beta_init` 的类型不相同或者初始化的元素类型不是float32。
- **ValueError** - `num_features` 小于1。
- **ValueError** - `momentum` 不在范围[0, 1]内。
- **KeyError** - `gamma_init` / `beta_init` 中的任何一个是str并且不存在继承自 `Initializer` 的同义类。

View File

@ -20,24 +20,20 @@ mindspore.nn.InverseDecayLR
.. math::
p = floor(\frac{current\_step}{decay\_steps})
**参数:**
参数:
- **learning_rate** (float) - 学习率的初始值。
- **decay_rate** (float) - 衰减率。
- **decay_steps** (int) - 进行衰减的step数。
- **is_stair** (bool) - 如果为True则学习率每 `decay_steps` 次衰减一次。默认值False。
- **learning_rate** (float) - 学习率的初始值。
- **decay_rate** (float) - 衰减率。
- **decay_steps** (int) - 进行衰减的step数。
- **is_stair** (bool) - 如果为True则学习率每 `decay_steps` 次衰减一次。默认值False。
输入:
- **global_step** (Tensor) - 当前step数即current_step。
**输入:**
输出:
标量Tensor。当前step的学习率值。
- **global_step** (Tensor) - 当前step数即current_step。
**输出:**
标量Tensor。当前step的学习率值。
**异常:**
- **TypeError** - `learning_rate``decay_rate` 不是float。
- **TypeError** - `decay_steps` 不是int或 `is_stair` 不是bool。
- **ValueError** - `decay_steps` 小于1。
- **ValueError** - `learning_rate``decay_rate` 小于或等于0。
异常:
- **TypeError** - `learning_rate``decay_rate` 不是float。
- **TypeError** - `decay_steps` 不是int或 `is_stair` 不是bool。
- **ValueError** - `decay_steps` 小于1。
- **ValueError** - `learning_rate``decay_rate` 小于或等于0。

View File

@ -5,18 +5,15 @@ mindspore.nn.Jvp
计算给定网络的雅可比向量积(Jacobian-vector product, JVP)。JVP对应 `前向模式自动微分 <https://www.mindspore.cn/docs/zh-CN/master/design/auto_gradient.html#前向自动微分>`_
**参数:**
参数:
- **fn** (Cell) - 基于Cell的网络用于接收Tensor输入并返回Tensor或者Tensor元组。
- **fn** (Cell) - 基于Cell的网络用于接收Tensor输入并返回Tensor或者Tensor元组。
输入:
- **inputs** (Tensor) - 输入网络的入参单个或多个Tensor。
- **v** (Tensor or Tuple of Tensor) - 与雅可比矩阵点乘的向量Shape与网络的输入一致。
**输入:**
输出:
2个Tensor或Tensor元组构成的元组。
- **inputs** (Tensor) - 输入网络的入参单个或多个Tensor。
- **v** (Tensor or Tuple of Tensor) - 与雅可比矩阵点乘的向量Shape与网络的输入一致。
**输出:**
2个Tensor或Tensor元组构成的元组。
- **net_output** (Tensor or Tuple of Tensor) - 输入网络的正向计算结果。
- **jvp** (Tensor or Tuple of Tensor) - 雅可比向量积的结果。
- **net_output** (Tensor or Tuple of Tensor) - 输入网络的正向计算结果。
- **jvp** (Tensor or Tuple of Tensor) - 雅可比向量积的结果。

View File

@ -19,20 +19,16 @@ mindspore.nn.L1Loss
\operatorname{sum}(L), & \text{if reduction} = \text{'sum'.}
\end{cases}
**参数:**
参数:
- **reduction** (str) - 应用于loss的reduction类型。取值为"mean""sum",或"none"。默认值:"mean"。如果 `reduction` 为'mean'或'sum'则输出一个标量Tensor如果 `reduction` 为'none'则输出Tensor的shape为广播后的shape。
**reduction** (str) - 应用于loss的reduction类型。取值为"mean""sum",或"none"。默认值:"mean"。如果 `reduction` 为'mean'或'sum'则输出一个标量Tensor如果 `reduction` 为'none'则输出Tensor的shape为广播后的shape。
输入:
- **logits** (Tensor) - 预测值任意维度的Tensor。
- **labels** (Tensor) - 目标值,通常情况下与 `logits` 的shape相同。但是如果 `logits``labels` 的shape不同需要保证他们之间可以互相广播。
**输入:**
输出:
Tensor类型为float。
- **logits** (Tensor) - 预测值任意维度的Tensor。
- **labels** (Tensor) - 目标值,通常情况下与 `logits` 的shape相同。但是如果 `logits``labels` 的shape不同需要保证他们之间可以互相广播。
**输出:**
Tensor类型为float。
**异常:**
- **ValueError** - `reduction` 不为"mean"、"sum"或"none"。
- **ValueError** - `logits``labels` 有不同的shape且不能互相广播。
异常:
- **ValueError** - `reduction` 不为"mean"、"sum"或"none"。
- **ValueError** - `logits``labels` 有不同的shape且不能互相广播。

View File

@ -15,20 +15,16 @@ mindspore.nn.L1Regularizer
.. note::
正则化因子应为大于0。
**参数:**
参数:
- **scale** (int, float) - L1正则化因子其值大于0。
- **scale** (int, float) - L1正则化因子其值大于0。
输入:
- **weights** (Tensor) - L1Regularizer的输入任意维度的Tensor数据类型为float16或float32。
**输入:**
输出:
Tensor其shape为()默认数据类型为mindspore.float32如果权重的数据类型精度更高则以权重的数据类型作为输出数据类型。
- **weights** (Tensor) - L1Regularizer的输入任意维度的Tensor数据类型为float16或float32。
**输出:**
Tensor其shape为()默认数据类型为mindspore.float32如果权重的数据类型精度更高则以权重的数据类型作为输出数据类型。
**异常:**
- **TypeError** - `scale` 既不是int也不是float。
- **ValueError** - `scale` 不大于0。
- **ValueError** - `scale` 是math.inf或math.nan。
异常:
- **TypeError** - `scale` 既不是int也不是float。
- **ValueError** - `scale` 不大于0。
- **ValueError** - `scale` 是math.inf或math.nan。

View File

@ -54,41 +54,37 @@ mindspore.nn.Lamb
.. include:: mindspore.nn.optim_note_loss_scale.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]): 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
- **params** (Union[list[Parameter], list[dict]]): 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]):
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]):
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
- **beta1** (float)第一矩的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float)第二矩的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 将添加到分母中以提高数值稳定性。必须大于0。默认值1e-6。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
- **beta1** (float)第一矩的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float)第二矩的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 将添加到分母中以提高数值稳定性。必须大于0。默认值1e-6。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
输入:
- **gradients** (tuple[Tensor]) - `params` 的梯度shape与 `params` 相同。
**输入:**
输出:
tuple[bool]所有元素都为True。
- **gradients** (tuple[Tensor]) - `params` 的梯度shape与 `params` 相同。
**输出:**
tuple[bool]所有元素都为True。
**异常:**
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或dict。
- **TypeError** - `beta1``beta2``eps` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `eps` 小于等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
异常:
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或dict。
- **TypeError** - `beta1``beta2``eps` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **ValueError** - `eps` 小于等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。

View File

@ -13,25 +13,21 @@ mindspore.nn.LayerNorm
.. math::
y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
**参数:**
参数:
- **normalized_shape** (Union(tuple[int], list[int]) - 沿轴 `begin_norm_axis ... R - 1` 执行归一化。
- **begin_norm_axis** (int) - 归一化开始计算的轴,取值范围是[-1, rank(x))。默认值:-1。
- **begin_params_axis** (int) - 第一个参数(beta, gamma)的维度scale和centering参数有 `begin_params_axis: rank(x)` 个维度,并与输入一起广播,取值范围是[-1, rank(input))。默认值:-1。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\gamma` 参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'、'xavier_uniform'、'he_uniform'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\beta` 参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'、'xavier_uniform'、'he_uniform'等。默认值:'zeros'。
- **epsilon** (float) - :math:`\epsilon` 添加到分母中的值以确保数值稳定。默认值1e-7。
- **normalized_shape** (Union(tuple[int], list[int]) - 沿轴 `begin_norm_axis ... R - 1` 执行归一化。
- **begin_norm_axis** (int) - 归一化开始计算的轴,取值范围是[-1, rank(x))。默认值:-1。
- **begin_params_axis** (int) - 第一个参数(beta, gamma)的维度scale和centering参数有 `begin_params_axis: rank(x)` 个维度,并与输入一起广播,取值范围是[-1, rank(input))。默认值:-1。
- **gamma_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\gamma` 参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'、'xavier_uniform'、'he_uniform'等。默认值:'ones'。
- **beta_init** (Union[Tensor, str, Initializer, numbers.Number]) - :math:`\beta` 参数的初始化方法。str的值引用自函数 `initializer` ,包括'zeros'、'ones'、'xavier_uniform'、'he_uniform'等。默认值:'zeros'。
- **epsilon** (float) - :math:`\epsilon` 添加到分母中的值以确保数值稳定。默认值1e-7。
输入:
- **x** (Tensor) - `x` 的shape为 :math:`(x_1, x_2, ..., x_R)` `input_shape[begin_norm_axis:]` 等于 `normalized_shape`
**输入:**
输出:
Tensor归一化后的Tensorshape和数据类型与 `x` 相同。
- **x** (Tensor) - `x` 的shape为 :math:`(x_1, x_2, ..., x_R)` `input_shape[begin_norm_axis:]` 等于 `normalized_shape`
**输出:**
Tensor归一化后的Tensorshape和数据类型与 `x` 相同。
**异常:**
- **TypeError** - `normalized_shape` 既不是list也不是tuple。
- **TypeError** - `begin_norm_axis``begin_params_axis` 不是int。
- **TypeError** - `epsilon` 不是float。
异常:
- **TypeError** - `normalized_shape` 既不是list也不是tuple。
- **TypeError** - `begin_norm_axis``begin_params_axis` 不是int。
- **TypeError** - `epsilon` 不是float。

View File

@ -27,48 +27,44 @@ mindspore.nn.LazyAdam
.. include:: mindspore.nn.optim_note_weight_decay.rst
**参数:**
参数:
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params"
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
.. include:: mindspore.nn.optim_group_param.rst
.. include:: mindspore.nn.optim_group_lr.rst
.. include:: mindspore.nn.optim_group_dynamic_weight_decay.rst
.. include:: mindspore.nn.optim_group_gc.rst
.. include:: mindspore.nn.optim_group_order.rst
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值1e-3。
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值1e-3。
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
.. include:: mindspore.nn.optim_arg_dynamic_lr.rst
- **beta1** (float) - `moment1` 的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - `moment2` 的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 将添加到分母中以提高数值稳定性。必须大于0。默认值1e-8。
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True`w``m``v` 的Tensor更新将受到锁的保护。如果为False则结果不可预测。默认值False。
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True使用NAG更新梯度。如果为False则在不使用NAG的情况下更新梯度。默认值False。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
- **beta1** (float) - `moment1` 的指数衰减率。参数范围0.0,1.0。默认值0.9。
- **beta2** (float) - `moment2` 的指数衰减率。参数范围0.0,1.0。默认值0.999。
- **eps** (float) - 将添加到分母中以提高数值稳定性。必须大于0。默认值1e-8。
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True`w``m``v` 的Tensor更新将受到锁的保护。如果为False则结果不可预测。默认值False。
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True使用NAG更新梯度。如果为False则在不使用NAG的情况下更新梯度。默认值False。
- **weight_decay** (Union[float, int, Cell]) - 权重衰减L2 penalty。默认值0.0。
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_dynamic_wd.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
.. include:: mindspore.nn.optim_arg_loss_scale.rst
输入:
- **gradients** (tuple[Tensor]) - `params` 的梯度shape与 `params` 相同。
**输入:**
输出:
Tensor[bool]值为True。
- **gradients** (tuple[Tensor]) - `params` 的梯度shape与 `params` 相同。
**输出:**
Tensor[bool]值为True。
**异常:**
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **TypeError** - `use_locking``use_nesterov` 不是bool。
- **ValueError** - `loss_scale``eps` 小于或等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
异常:
- **TypeError** - `learning_rate` 不是int、float、Tensor、Iterable或LearningRateSchedule。
- **TypeError** - `parameters` 的元素不是Parameter或字典。
- **TypeError** - `beta1``beta2``eps``loss_scale` 不是float。
- **TypeError** - `weight_decay` 不是float或int。
- **TypeError** - `use_locking``use_nesterov` 不是bool。
- **ValueError** - `loss_scale``eps` 小于或等于0。
- **ValueError** - `beta1``beta2` 不在0.0,1.0)范围内。
- **ValueError** - `weight_decay` 小于0。
.. include:: mindspore.nn.optim_target_unique_for_sparse.rst

View File

@ -15,18 +15,14 @@ mindspore.nn.LeakyReLU
更多细节详见 `Rectifier Nonlinearities Improve Neural Network Acoustic Models <https://ai.stanford.edu/~amaas/papers/relu_hybrid_icml2013_final.pdf>`_
**参数:**
参数:
- **alpha** (`Union[int, float]`) - x<0时激活函数的斜率默认值0.2。
- **alpha** (`Union[int, float]`) - x<0时激活函数的斜率默认值0.2。
输入:
- **x** Tensor - 计算LeakyReLU的任意维度的Tensor。
**输入:**
输出:
Tensor数据类型和shape与 `x` 相同。
- **x** Tensor - 计算LeakyReLU的任意维度的Tensor。
**输出:**
Tensor数据类型和shape与 `x` 相同。
**异常:**
- **TypeError** - `alpha` 不是浮点数或整数。
异常:
- **TypeError** - `alpha` 不是浮点数或整数。

View File

@ -14,14 +14,11 @@ mindspore.nn.LogSigmoid
其中,:math:`x_i` 是输入Tensor的一个元素。
**输入:**
输入:
- **x** (Tensor) - Log Sigmoid的输入数据类型为float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任意的附加维度。
- **x** (Tensor) - Log Sigmoid的输入数据类型为float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任意的附加维度。
输出:
Tensor数据类型和shape与 `x` 的相同。
**输出:**
Tensor数据类型和shape与 `x` 的相同。
**异常:**
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
异常:
- **TypeError** - `x` 的数据类型既不是float16也不是float32。

View File

@ -17,20 +17,16 @@ mindspore.nn.LogSoftmax
其中,:math:`x_i` 是输入Tensor的一个元素。
**参数:**
参数:
- **axis** (int) - Log Softmax运算的axis-1表示最后一个维度。默认值-1。
- **axis** (int) - Log Softmax运算的axis-1表示最后一个维度。默认值-1。
输入:
- **x** (Tensor) - Log Softmax的输入数据类型为float16或float32。
**输入:**
输出:
Tensor数据类型和shape与 `x` 相同,输出值的范围在[-inf,0)。
- **x** (Tensor) - Log Softmax的输入数据类型为float16或float32。
**输出:**
Tensor数据类型和shape与 `x` 相同,输出值的范围在[-inf,0)。
**异常:**
- **TypeError** - `axis` 不是int。
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
- **ValueError** - `axis` 不在[-len(x), len(x))范围中。
异常:
- **TypeError** - `axis` 不是int。
- **TypeError** - `x` 的数据类型既不是float16也不是float32。
- **ValueError** - `axis` 不在[-len(x), len(x))范围中。

View File

@ -6,12 +6,10 @@ mindspore.nn.auc
使用梯形法则计算曲线下面积AUCArea Under the CurveAUC。这是一个一般函数给定曲线上的点
用于计算ROC (Receiver Operating Curve, ROC) 曲线下的面积。
**参数:**
参数:
- **x** (Union[np.array, list]) - 从ROC曲线False Positive Rate, FPR来看np.array具有假阳性率。如果是多类则为np.array列表。Shape为 :math:`(N)`
- **y** (Union[np.array, list]) - 从ROC曲线True Positive Rate, TPR来看np.array具有假阳性率。如果是多类则为np.array列表。Shape为 :math:`(N)`
- **reorder** (bool) - 如果为False那么 `x` 必须是单调上升或下降的如果为True那么 `x` 将会按照升序排序。默认值False。
- **x** (Union[np.array, list]) - 从ROC曲线False Positive Rate, FPR来看np.array具有假阳性率。如果是多类则为np.array列表。Shape为 :math:`(N)`
- **y** (Union[np.array, list]) - 从ROC曲线True Positive Rate, TPR来看np.array具有假阳性率。如果是多类则为np.array列表。Shape为 :math:`(N)`
- **reorder** (bool) - 如果为False那么 `x` 必须是单调上升或下降的如果为True那么 `x` 将会按照升序排序。默认值False。
**返回:**
float曲线下面积的值AUC。
返回:
float曲线下面积的值AUC。

View File

@ -13,22 +13,19 @@ mindspore.nn.cosine_decay_lr
其中 :math:`current\_epoch=floor(\frac{i}{step\_per\_epoch})`
**参数:**
参数:
- **min_lr** (float) - 学习率的最小值。
- **max_lr** (float) - 学习率的最大值。
- **total_step** (int) - step总数。
- **step_per_epoch** (int) - 每个epoch的step数。
- **decay_epoch** (int) - 进行衰减的epoch数。
- **min_lr** (float) - 学习率的最小值。
- **max_lr** (float) - 学习率的最大值。
- **total_step** (int) - step总数。
- **step_per_epoch** (int) - 每个epoch的step数。
- **decay_epoch** (int) - 进行衰减的epoch数。
返回:
list[float]。列表大小为 `total_step`
**返回:**
list[float]。列表大小为 `total_step`
**异常:**
- **TypeError** - `min_lr``max_lr` 不是float。
- **TypeError** - `total_step``step_per_epoch``decay_epoch` 不是int。
- **ValueError** - `max_lr` 不大于0或 `min_lr` 小于0。
- **ValueError** - `total_step``step_per_epoch``decay_epoch` 小于0。
- **ValueError** - `max_lr` 大于或等于 `min_lr`
异常:
- **TypeError** - `min_lr``max_lr` 不是float。
- **TypeError** - `total_step``step_per_epoch``decay_epoch` 不是int。
- **ValueError** - `max_lr` 不大于0或 `min_lr` 小于0。
- **ValueError** - `total_step``step_per_epoch``decay_epoch` 小于0。
- **ValueError** - `max_lr` 大于或等于 `min_lr`

View File

@ -12,22 +12,19 @@ mindspore.nn.exponential_decay_lr
其中 :math:`current\_epoch=floor(\frac{i}{step\_per\_epoch})`
**参数:**
参数:
- **learning_rate** (float) - 学习率的初始值。
- **decay_rate** (float) - 衰减率。
- **total_step** (int) - step总数。
- **step_per_epoch** (int) - 每个 epoch的step数。
- **decay_epoch** (int) - 进行衰减的epoch数。
- **is_stair** (bool) - 如果为True则学习率每 `decay_epoch` 次衰减一次。默认值False。
- **learning_rate** (float) - 学习率的初始值。
- **decay_rate** (float) - 衰减率。
- **total_step** (int) - step总数。
- **step_per_epoch** (int) - 每个 epoch的step数。
- **decay_epoch** (int) - 进行衰减的epoch数。
- **is_stair** (bool) - 如果为True则学习率每 `decay_epoch` 次衰减一次。默认值False。
返回:
list[float]。列表的大小为 `total_step`
**返回:**
list[float]。列表的大小为 `total_step`
**异常:**
- **TypeError** - `total_step``step_per_epoch``decay_epoch` 不是int。
- **TypeError** - `is_stair` 不是bool。
- **TypeError** - `learning_rate``decay_rate` 不是float。
- **ValueError** - `learning_rate``decay_rate` 小于等于0。
异常:
- **TypeError** - `total_step``step_per_epoch``decay_epoch` 不是int。
- **TypeError** - `is_stair` 不是bool。
- **TypeError** - `learning_rate``decay_rate` 不是float。
- **ValueError** - `learning_rate``decay_rate` 小于等于0。

View File

@ -5,11 +5,9 @@ mindspore.nn.get_activation
获取激活函数。
**参数:**
参数:
- **name** (str) - 激活函数名称。
- **prim_name** (Union[str, None]) - 算子名称默认None。
- **name** (str) - 激活函数名称。
- **prim_name** (Union[str, None]) - 算子名称默认None。
**返回:**
激活函数。
返回:
激活函数。

View File

@ -5,12 +5,10 @@ mindspore.nn.get_metric_fn
根据输入的 `name` 获取metric的方法。
**参数:**
参数:
- **name** (str) - metric的方法名可以通过 :class:`mindspore.nn.names` 接口获取。
- **args** - metric函数的参数。
- **kwargs** - metric函数的关键字参数。
- **name** (str) - metric的方法名可以通过 :class:`mindspore.nn.names` 接口获取。
- **args** - metric函数的参数。
- **kwargs** - metric函数的关键字参数。
**返回:**
metric对象metric方法的类实例。
返回:
metric对象metric方法的类实例。

View File

@ -12,22 +12,19 @@ mindspore.nn.inverse_decay_lr
其中,:math:`current\_epoch=floor(\frac{i}{step\_per\_epoch})`
**参数:**
参数:
- **learning_rate** (float) - 学习率的初始值。
- **decay_rate** (float) - 衰减率。
- **total_step** (int) - step总数。
- **step_per_epoch** (int) - 每个epoch的step数。
- **decay_epoch** (int) - 进行衰减的epoch数。
- **is_stair** (bool) - 如果为True则学习率每 `decay_epoch` 次衰减一次。默认值False。
- **learning_rate** (float) - 学习率的初始值。
- **decay_rate** (float) - 衰减率。
- **total_step** (int) - step总数。
- **step_per_epoch** (int) - 每个epoch的step数。
- **decay_epoch** (int) - 进行衰减的epoch数。
- **is_stair** (bool) - 如果为True则学习率每 `decay_epoch` 次衰减一次。默认值False。
返回:
list[float]。列表大小为 `total_step`
**返回:**
list[float]。列表大小为 `total_step`
**异常:**
- **TypeError** - `total_step``step_per_epoch``decay_epoch` 不是int。
- **TypeError** - `is_stair` 不是bool。
- **TypeError** - `learning_rate``decay_rate` 不是float。
- **ValueError** - `learning_rate``decay_rate` 小于等于0。
异常:
- **TypeError** - `total_step``step_per_epoch``decay_epoch` 不是int。
- **TypeError** - `is_stair` 不是bool。
- **TypeError** - `learning_rate``decay_rate` 不是float。
- **ValueError** - `learning_rate``decay_rate` 小于等于0。