modify the format of API files
This commit is contained in:
parent
420858e6aa
commit
b401a37e0c
|
@ -21,34 +21,30 @@ mindspore.ops.Adam
|
|||
|
||||
其中, :math:`m` 表示第一个动量矩阵, :math:`v` 表示第二个动量矩阵, :math:`g` 表示 `gradient`, :math:`l` 表示缩放因子 `lr` , :math:`\beta_1, \beta_2` 表示 `beta1` 和 `beta2` , :math:`t` 表示更新步数, :math:`beta_1^t(\beta_1^{t})` 和 :math:`beta_2^t(\beta_2^{t})` 表示 `beta1_power` 和 `beta2_power` , :math:`\alpha` 表示 `learning_rate` , :math:`w` 表示 `var` , :math:`\epsilon` 表示 `epsilon` 。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True,则 `w` 、 `m` 和 `v` 的Tensor更新将受到锁的保护。如果为False,则结果不可预测。默认值:False。
|
||||
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True,则使用NAG更新梯度。如果为False,则在不使用NAG的情况下更新梯度。默认值:False。
|
||||
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True,则 `w` 、 `m` 和 `v` 的Tensor更新将受到锁的保护。如果为False,则结果不可预测。默认值:False。
|
||||
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True,则使用NAG更新梯度。如果为False,则在不使用NAG的情况下更新梯度。默认值:False。
|
||||
输入:
|
||||
- **var** (Tensor) - 需更新的权重。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度,其数据类型可以是float16或float32。
|
||||
- **m** (Tensor) - 更新公式中的第一个动量矩阵,shape和数据类型应与 `var` 相同。
|
||||
- **v** (Tensor) - 更新公式中的第二个动量矩阵,shape和数据类型应与 `var` 相同。均方梯度的数据类型也应与 `var` 相同。
|
||||
- **beta1_power** (float) - 在更新公式中的 :math:`beta_1^t(\beta_1^{t})` ,数据类型值应与 `var` 相同。
|
||||
- **beta2_power** (float) - 在更新公式中的 :math:`beta_2^t(\beta_2^{t})` ,数据类型值应与 `var` 相同。
|
||||
- **lr** (float) - 在更新公式中的 :math:`l` 。其论文建议取值为 :math:`10^{-8}` ,数据类型应与 `var` 相同。
|
||||
- **beta1** (float) - 第一个动量矩阵的指数衰减率,数据类型值应与 `var` 相同。论文建议取值为 :math:`0.9` 。
|
||||
- **beta2** (float) - 第二个动量矩阵的指数衰减率,数据类型值应与 `var` 相同。论文建议取值为 :math:`0.999` 。
|
||||
- **epsilon** (float) - 添加到分母中的值,以提高数值稳定性。
|
||||
- **gradient** (Tensor) - :math:`g` 表示梯度,shape和数据类型与 `var` 相同。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
3个Tensor的tuple,已更新的参数。
|
||||
|
||||
- **var** (Tensor) - 需更新的权重。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度,其数据类型可以是float16或float32。
|
||||
- **m** (Tensor) - 更新公式中的第一个动量矩阵,shape和数据类型应与 `var` 相同。
|
||||
- **v** (Tensor) - 更新公式中的第二个动量矩阵,shape和数据类型应与 `var` 相同。均方梯度的数据类型也应与 `var` 相同。
|
||||
- **beta1_power** (float) - 在更新公式中的 :math:`beta_1^t(\beta_1^{t})` ,数据类型值应与 `var` 相同。
|
||||
- **beta2_power** (float) - 在更新公式中的 :math:`beta_2^t(\beta_2^{t})` ,数据类型值应与 `var` 相同。
|
||||
- **lr** (float) - 在更新公式中的 :math:`l` 。其论文建议取值为 :math:`10^{-8}` ,数据类型应与 `var` 相同。
|
||||
- **beta1** (float) - 第一个动量矩阵的指数衰减率,数据类型值应与 `var` 相同。论文建议取值为 :math:`0.9` 。
|
||||
- **beta2** (float) - 第二个动量矩阵的指数衰减率,数据类型值应与 `var` 相同。论文建议取值为 :math:`0.999` 。
|
||||
- **epsilon** (float) - 添加到分母中的值,以提高数值稳定性。
|
||||
- **gradient** (Tensor) - :math:`g` 表示梯度,shape和数据类型与 `var` 相同。
|
||||
- **var** (Tensor) - shape和数据类型与输入 `var` 相同。
|
||||
- **m** (Tensor) - shape和数据类型与输入 `m` 相同。
|
||||
- **v** (Tensor) - shape和数据类型与输入 `v` 相同的。
|
||||
|
||||
**输出:**
|
||||
|
||||
3个Tensor的tuple,已更新的参数。
|
||||
|
||||
- **var** (Tensor) - shape和数据类型与输入 `var` 相同。
|
||||
- **m** (Tensor) - shape和数据类型与输入 `m` 相同。
|
||||
- **v** (Tensor) - shape和数据类型与输入 `v` 相同的。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `use_locking` 和 `use_nesterov` 都不是bool。
|
||||
- **TypeError** - `var` 、 `m` 或 `v` 不是Tensor。
|
||||
- **TypeError** - `beta1_power` 、 `beta2_power1` 、 `lr` 、 `beta1` 、 `beta2` 、 `epsilon` 或 `gradient` 不是Tensor。
|
||||
异常:
|
||||
- **TypeError** - `use_locking` 和 `use_nesterov` 都不是bool。
|
||||
- **TypeError** - `var` 、 `m` 或 `v` 不是Tensor。
|
||||
- **TypeError** - `beta1_power` 、 `beta2_power1` 、 `lr` 、 `beta1` 、 `beta2` 、 `epsilon` 或 `gradient` 不是Tensor。
|
||||
|
|
|
@ -8,19 +8,15 @@
|
|||
.. note::
|
||||
集合中所有进程的Tensor必须具有相同的shape和格式。用户在使用之前需要设置环境变量,运行下面的例子。获取详情请点击官方网站 `MindSpore <https://www.mindspore.cn/docs/zh-CN/master/api_python/mindspore.ops.html#通信算子>`_ 。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **group** (str) - 工作的通信组,默认值:"GlobalComm.WORLD_COMM_GROUP"(即Ascend平台为"hccl_world_group",GPU平台为"nccl_world_group" )。
|
||||
|
||||
- **group** (str) - 工作的通信组,默认值:"GlobalComm.WORLD_COMM_GROUP"(即Ascend平台为"hccl_world_group",GPU平台为"nccl_world_group" )。
|
||||
输入:
|
||||
- **input_x** (Tensor) - AllGather的输入,shape为 :math:`(x_1, x_2, ..., x_R)` 的Tensor。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,如果组中的device数量为N,则输出的shape为 :math:`(N, x_1, x_2, ..., x_R)` 。
|
||||
|
||||
- **input_x** (Tensor) - AllGather的输入,shape为 :math:`(x_1, x_2, ..., x_R)` 的Tensor。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,如果组中的device数量为N,则输出的shape为 :math:`(N, x_1, x_2, ..., x_R)` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `group` 不是str。
|
||||
- **ValueError** - 调用进程的rank id大于本通信组的rank大小。
|
||||
异常:
|
||||
- **TypeError** - `group` 不是str。
|
||||
- **ValueError** - 调用进程的rank id大于本通信组的rank大小。
|
|
@ -8,20 +8,16 @@
|
|||
.. note::
|
||||
AllReduce操作暂不支持"prod"。集合中的所有进程的Tensor必须具有相同的shape和格式。用户在使用之前需要设置环境变量,运行下面的例子。获取详情请点击官方网站 `MindSpore <https://www.mindspore.cn/docs/zh-CN/master/api_python/mindspore.ops.html#通信算子>`_ 。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **op** (str) - 规约的具体操作,如"sum"、"max"、和"min"。默认值:ReduceOp.SUM。
|
||||
- **group** (str) - 工作的通信组。默认值:"GlobalComm.WORLD_COMM_GROUP"(即Ascend平台为"hccl_world_group",GPU平台为"nccl_world_group" )。
|
||||
|
||||
- **op** (str) - 规约的具体操作,如"sum"、"max"、和"min"。默认值:ReduceOp.SUM。
|
||||
- **group** (str) - 工作的通信组。默认值:"GlobalComm.WORLD_COMM_GROUP"(即Ascend平台为"hccl_world_group",GPU平台为"nccl_world_group" )。
|
||||
输入:
|
||||
- **input_x** (Tensor) - shape为 :math:`(x_1, x_2, ..., x_R)` 的Tensor。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,shape与输入相同,即 :math:`(x_1, x_2, ..., x_R)` 。其内容取决于操作。
|
||||
|
||||
- **input_x** (Tensor) - shape为 :math:`(x_1, x_2, ..., x_R)` 的Tensor。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape与输入相同,即 :math:`(x_1, x_2, ..., x_R)` 。其内容取决于操作。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `op` 或 `group` 不是str,或者输入的数据类型是bool。
|
||||
- **ValueError** - `op` 为"prod"。
|
||||
异常:
|
||||
- **TypeError** - `op` 或 `group` 不是str,或者输入的数据类型是bool。
|
||||
- **ValueError** - `op` 为"prod"。
|
|
@ -20,29 +20,26 @@
|
|||
|
||||
`var` 、 `m` 、 `v` 和 `grad` 的输入符合隐式类型转换规则,使数据类型一致。如果它们具有不同的数据类型,则低精度数据类型将转换为相对最高精度的数据类型。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **var** (Parameter) - 待更新的网络参数,为任意维度。数据类型为float32或float16。
|
||||
- **m** (Parameter) - 一阶矩,shape和数据类型与 `var` 相同。数据类型为float32或float16。
|
||||
- **v** (Parameter) - 二阶矩。shape和类型与 `var` 相同。数据类型为float32或float16。
|
||||
- **beta1_power** (Union[Number, Tensor]) - :math:`beta_1^t` ,必须是Scalar。数据类型为float32或float16。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,公式中的 :math:`l` ,必须是Scalar。数据类型为float32或float16。
|
||||
- **beta1** (Union[Number, Tensor]) - 一阶矩的指数衰减率,必须是Scalar。数据类型为float32或float16。
|
||||
- **beta2** (Union[Number, Tensor]) - 二阶矩的指数衰减率,必须是Scalar。数据类型为float32或float16。
|
||||
- **epsilon** (Union[Number, Tensor]) - 加在分母上的值,以确保数值稳定,必须是Scalar。数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 为梯度,是一个Tensor,shape和数据类型与 `var` 相同。数据类型为float32或float16。
|
||||
|
||||
- **var** (Parameter) - 待更新的网络参数,为任意维度。数据类型为float32或float16。
|
||||
- **m** (Parameter) - 一阶矩,shape和数据类型与 `var` 相同。数据类型为float32或float16。
|
||||
- **v** (Parameter) - 二阶矩。shape和类型与 `var` 相同。数据类型为float32或float16。
|
||||
- **beta1_power** (Union[Number, Tensor]) - :math:`beta_1^t` ,必须是Scalar。数据类型为float32或float16。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,公式中的 :math:`l` ,必须是Scalar。数据类型为float32或float16。
|
||||
- **beta1** (Union[Number, Tensor]) - 一阶矩的指数衰减率,必须是Scalar。数据类型为float32或float16。
|
||||
- **beta2** (Union[Number, Tensor]) - 二阶矩的指数衰减率,必须是Scalar。数据类型为float32或float16。
|
||||
- **epsilon** (Union[Number, Tensor]) - 加在分母上的值,以确保数值稳定,必须是Scalar。数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 为梯度,是一个Tensor,shape和数据类型与 `var` 相同。数据类型为float32或float16。
|
||||
输出:
|
||||
3个Tensor组成的tuple,更新后的数据。
|
||||
|
||||
**输出:**
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **m** (Tensor) - shape和数据类型与 `m` 相同。
|
||||
- **v** (Tensor) - shape和数据类型与 `v` 相同。
|
||||
|
||||
3个Tensor组成的tuple,更新后的数据。
|
||||
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **m** (Tensor) - shape和数据类型与 `m` 相同。
|
||||
- **v** (Tensor) - shape和数据类型与 `v` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `var` 、 `m` 、 `v` 、 `beta_power` 、 `lr` 、 `beta1` 、 `beta2` 、 `epsilon` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `beta_power` 、 `lr` 、 `beta1` 、 `beta2` 或 `epsilon` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `grad` 不是Tensor。
|
||||
- **RuntimeError** - 如果 `var` 、 `m` 、 `v` 和 `grad` 不支持数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `var` 、 `m` 、 `v` 、 `beta_power` 、 `lr` 、 `beta1` 、 `beta2` 、 `epsilon` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `beta_power` 、 `lr` 、 `beta1` 、 `beta2` 或 `epsilon` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `grad` 不是Tensor。
|
||||
- **RuntimeError** - 如果 `var` 、 `m` 、 `v` 和 `grad` 不支持数据类型转换。
|
||||
|
|
|
@ -19,26 +19,23 @@
|
|||
|
||||
`var` 、 `accum` 、 `accum_update` 和 `grad` 的输入遵循隐式类型转换规则,使数据类型一致。如果它们具有不同的数据类型,则较低精度的数据类型将转换为相对最高精度的数据类型。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **var** (Parameter) - 待更新的公式参数 var。数据类型为float32或float16。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **accum** (Parameter) - 待更新的公式参数 accum,shape和数据类型与 `var` 相同。
|
||||
- **accum_update** (Parameter) - 待更新的公式参数 accum_update,shape和数据类型与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须是Scalar。数据类型为float32或float16。
|
||||
- **rho** (Union[Number, Tensor]) - :math:`\rho` 衰减率,必须是Scalar。数据类型为float32或float16。
|
||||
- **epsilon** (Union[Number, Tensor]) - :math:`\epsilon` 加在分母上的值,以确保数值稳定,必须是Scalar。数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 梯度,shape和数据类型与 `var` 相同。
|
||||
|
||||
- **var** (Parameter) - 待更新的公式参数 var。数据类型为float32或float16。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **accum** (Parameter) - 待更新的公式参数 accum,shape和数据类型与 `var` 相同。
|
||||
- **accum_update** (Parameter) - 待更新的公式参数 accum_update,shape和数据类型与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须是Scalar。数据类型为float32或float16。
|
||||
- **rho** (Union[Number, Tensor]) - :math:`\rho` 衰减率,必须是Scalar。数据类型为float32或float16。
|
||||
- **epsilon** (Union[Number, Tensor]) - :math:`\epsilon` 加在分母上的值,以确保数值稳定,必须是Scalar。数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 梯度,shape和数据类型与 `var` 相同。
|
||||
输出:
|
||||
3个Tensor的元组,更新后的数据。
|
||||
|
||||
**输出:**
|
||||
- **var** (Tensor) - 与 `var` 相同的shape和数据类型。
|
||||
- **accum** (Tensor)- 与 `accum` 相同的shape和数据类型。
|
||||
- **accum_update** (Tensor) - 与 `accum_update` 相同的shape和数据类型。
|
||||
|
||||
3个Tensor的元组,更新后的数据。
|
||||
|
||||
- **var** (Tensor) - 与 `var` 相同的shape和数据类型。
|
||||
- **accum** (Tensor)- 与 `accum` 相同的shape和数据类型。
|
||||
- **accum_update** (Tensor) - 与 `accum_update` 相同的shape和数据类型。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `var` 、 `accum` 、 `accum_update` 、 `lr` 、 `rho` 、 `epsilon` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `accum_update` 、 `lr` 、 `rho` 或 `epsilon` 既不是数值型也不是Tensor。
|
||||
- **RuntimeError** - 如果 `var` 、 `accum` 、 `accum_update` 和 `grad` 不支持数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `var` 、 `accum` 、 `accum_update` 、 `lr` 、 `rho` 、 `epsilon` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `accum_update` 、 `lr` 、 `rho` 或 `epsilon` 既不是数值型也不是Tensor。
|
||||
- **RuntimeError** - 如果 `var` 、 `accum` 、 `accum_update` 和 `grad` 不支持数据类型转换。
|
||||
|
|
|
@ -15,26 +15,22 @@ mindspore.ops.ApplyAdagrad
|
|||
|
||||
`var` 、 `accum` 和 `grad` 的输入遵循隐式类型转换规则,使数据类型一致。如果它们具有不同的数据类型,较低精度的数据类型将转换为相对最高精度的数据类型。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **update_slots** (bool) - 是否更新 `accum` 参数,如果为True, `accum` 将更新。默认值为:True。
|
||||
|
||||
- **update_slots** (bool) - 是否更新 `accum` 参数,如果为True, `accum` 将更新。默认值为:True。
|
||||
输入:
|
||||
- **var** (Parameter) - 要更新的权重。数据类型为float32或float16。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **accum** (Parameter) - 要更新的累积。shape和数据类型必须与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须是Scalar。数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 梯度,为一个Tensor。shape和数据类型必须与 `var` 相同。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
2个Tensor组成的tuple,更新后的数据。
|
||||
|
||||
- **var** (Parameter) - 要更新的权重。数据类型为float32或float16。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **accum** (Parameter) - 要更新的累积。shape和数据类型必须与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须是Scalar。数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 梯度,为一个Tensor。shape和数据类型必须与 `var` 相同。
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **accum** (Tensor) - shape和数据类型与 `accum` 相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
2个Tensor组成的tuple,更新后的数据。
|
||||
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **accum** (Tensor) - shape和数据类型与 `accum` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `var` 、 `accum` 、 `lr` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 既不是数值型也不是Tensor。
|
||||
- **RuntimeError** - 如果 `var` 、 `accum` 和 `grad` 不支持数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `var` 、 `accum` 、 `lr` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 既不是数值型也不是Tensor。
|
||||
- **RuntimeError** - 如果 `var` 、 `accum` 和 `grad` 不支持数据类型转换。
|
|
@ -24,37 +24,33 @@ mindspore.ops.ApplyAdagradDA
|
|||
`var` 、 `gradient_accumulator` 、 `gradient_squared_accumulator` 和 `grad` 的输入遵循隐式类型转换规则,使数据类型一致。
|
||||
如果它们具有不同的数据类型,则较低精度的数据类型将转换为相对最高精度的数据类型。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **use_locking** (bool) - 如果为True, `var` 和 `gradient_accumulator` 的更新将受到锁的保护。否则,行为为未定义,很可能出现较少的冲突。默认值为False。
|
||||
|
||||
- **use_locking** (bool) - 如果为True, `var` 和 `gradient_accumulator` 的更新将受到锁的保护。否则,行为为未定义,很可能出现较少的冲突。默认值为False。
|
||||
输入:
|
||||
- **var** (Parameter) - 要更新的变量。数据类型必须为float16或float32。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **gradient_accumulator** (Parameter) - 要更新累积的梯度,为公式中的 :math:`grad\_accum` 。shape和数据类型必须与 `var` 相同。
|
||||
- **gradient_squared_accumulator** (Parameter) - 要更新的平方累积的梯度, 为公式中的 :math:`grad\_squared\_accum` 。shape和数据类型必须与 `var` 相同。
|
||||
- **grad** (Tensor) - 梯度,为一个Tensor。shape和数据类型必须与 `var` 相同。
|
||||
- **lr** ([Number, Tensor]) - 学习率。必须是Scalar。数据类型为float32或float16。
|
||||
- **l1** ([Number, Tensor]) - L1正则化。必须是Scalar。数据类型为float32或float16。
|
||||
- **l2** ([Number, Tensor]) - L2正则化。必须是Scalar。数据类型为float32或float16。
|
||||
- **global_step** ([Number, Tensor]) - 训练步骤的编号。必须是Scalar。数据类型为int32或int64。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
3个Tensor组成的tuple,更新后的参数。
|
||||
|
||||
- **var** (Parameter) - 要更新的变量。数据类型必须为float16或float32。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **gradient_accumulator** (Parameter) - 要更新累积的梯度,为公式中的 :math:`grad\_accum` 。shape和数据类型必须与 `var` 相同。
|
||||
- **gradient_squared_accumulator** (Parameter) - 要更新的平方累积的梯度, 为公式中的 :math:`grad\_squared\_accum` 。shape和数据类型必须与 `var` 相同。
|
||||
- **grad** (Tensor) - 梯度,为一个Tensor。shape和数据类型必须与 `var` 相同。
|
||||
- **lr** ([Number, Tensor]) - 学习率。必须是Scalar。数据类型为float32或float16。
|
||||
- **l1** ([Number, Tensor]) - L1正则化。必须是Scalar。数据类型为float32或float16。
|
||||
- **l2** ([Number, Tensor]) - L2正则化。必须是Scalar。数据类型为float32或float16。
|
||||
- **global_step** ([Number, Tensor]) - 训练步骤的编号。必须是Scalar。数据类型为int32或int64。
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **gradient_accumulator** (Tensor) - shape和数据类型与 `gradient_accumulator` 相同。
|
||||
- **gradient_squared_accumulator** (Tensor) - shape和数据类型与 `gradient_squared_accumulator` 相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
3个Tensor组成的tuple,更新后的参数。
|
||||
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **gradient_accumulator** (Tensor) - shape和数据类型与 `gradient_accumulator` 相同。
|
||||
- **gradient_squared_accumulator** (Tensor) - shape和数据类型与 `gradient_squared_accumulator` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `var` 、 `gradient_accumulator` 或 `gradient_squared_accumulator` 不是Parameter。
|
||||
- **TypeError** - 如果 `grad` 不是 Tensor。
|
||||
- **TypeError** - 如果 `lr` 、 `l1` 、 `l2` 或者 `global_step` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `use_locking` 不是bool。
|
||||
- **TypeError** - 如果 `var` 、 `gradient_accumulator` 、 `gradient_squared_accumulator` 、 `grad` 、 `lr` 、 `l1` 或 `l2` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `gradient_accumulator` 、 `gradient_squared_accumulator` 、 `grad` 与 `var` 的数据类型不相同。
|
||||
- **TypeError** - 如果 `global_step` 的数据类型不是int32也不是int64。
|
||||
- **ValueError** - 如果 `lr` 、 `l1` 、 `l2` 和 `global_step` 的shape大小不为0。
|
||||
- **RuntimeError** - 如果 `var` 、 `gradient_accumulator` 、 `gradient_squared_accumulator` 和 `grad` 不支持数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `var` 、 `gradient_accumulator` 或 `gradient_squared_accumulator` 不是Parameter。
|
||||
- **TypeError** - 如果 `grad` 不是 Tensor。
|
||||
- **TypeError** - 如果 `lr` 、 `l1` 、 `l2` 或者 `global_step` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `use_locking` 不是bool。
|
||||
- **TypeError** - 如果 `var` 、 `gradient_accumulator` 、 `gradient_squared_accumulator` 、 `grad` 、 `lr` 、 `l1` 或 `l2` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `gradient_accumulator` 、 `gradient_squared_accumulator` 、 `grad` 与 `var` 的数据类型不相同。
|
||||
- **TypeError** - 如果 `global_step` 的数据类型不是int32也不是int64。
|
||||
- **ValueError** - 如果 `lr` 、 `l1` 、 `l2` 和 `global_step` 的shape大小不为0。
|
||||
- **RuntimeError** - 如果 `var` 、 `gradient_accumulator` 、 `gradient_squared_accumulator` 和 `grad` 不支持数据类型转换。
|
||||
|
|
|
@ -20,27 +20,23 @@
|
|||
.. note::
|
||||
`ApplyAdagradV2` 与 `ApplyAdagrad` 不同点在于 `ApplyAdagradV2` 多一个较小的常量值 :math:`\epsilon` 。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **epsilon** (float) - 添加到分母上的较小值,以确保数值的稳定性。
|
||||
- **update_slots** (bool) - 如果为True,则将更新 `accum` 。默认值:True。
|
||||
|
||||
- **epsilon** (float) - 添加到分母上的较小值,以确保数值的稳定性。
|
||||
- **update_slots** (bool) - 如果为True,则将更新 `accum` 。默认值:True。
|
||||
输入:
|
||||
- **var** (Parameter) - 要更新的变量。为任意维度,其数据类型为float16或float32。
|
||||
- **accum** (Parameter) - 要更新的累积。shape和数据类型必须与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须是float或具有float16或float32数据类型的Scalar的Tensor。
|
||||
- **grad** (Tensor) - 梯度,为一个Tensor。shape和数据类型必须与 `var` 相同。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
2个Tensor组成的tuple,更新后的参数。
|
||||
|
||||
- **var** (Parameter) - 要更新的变量。为任意维度,其数据类型为float16或float32。
|
||||
- **accum** (Parameter) - 要更新的累积。shape和数据类型必须与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须是float或具有float16或float32数据类型的Scalar的Tensor。
|
||||
- **grad** (Tensor) - 梯度,为一个Tensor。shape和数据类型必须与 `var` 相同。
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **accum** (Tensor) - shape和数据类型与 `accum` 相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
2个Tensor组成的tuple,更新后的参数。
|
||||
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **accum** (Tensor) - shape和数据类型与 `accum` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `var` 、 `accum` 、 `lr` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 既不是数值型也不是Tensor。
|
||||
- **RuntimeError** - 如果 `var` 、 `accum` 和 `grad` 不支持数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `var` 、 `accum` 、 `lr` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 既不是数值型也不是Tensor。
|
||||
- **RuntimeError** - 如果 `var` 、 `accum` 和 `grad` 不支持数据类型转换。
|
||||
|
|
|
@ -16,26 +16,23 @@
|
|||
|
||||
`var` 、 `accum` 和 `grad` 的输入遵循隐式类型转换规则,使数据类型一致。如果它们具有不同的数据类型,则低精度数据类型将转换为相对最高精度的数据类型。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **var** (Parameter) - 要更新的权重。任意维度,其数据类型为float32或float16。
|
||||
- **m** (Parameter) - 要更新的权重,shape和数据类型与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须是Scalar。数据类型为float32或float16。
|
||||
- **sign_decay** (Union[Number, Tensor]) - 必须是Scalar。数据类型为float32或float16。
|
||||
- **alpha** (Union[Number, Tensor]) - 必须是Scalar。数据类型为float32或float16。
|
||||
- **beta** (Union[Number, Tensor]) - 指数衰减率,必须是Scalar。数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 梯度,shape和数据类型与 `var` 相同。
|
||||
|
||||
- **var** (Parameter) - 要更新的权重。任意维度,其数据类型为float32或float16。
|
||||
- **m** (Parameter) - 要更新的权重,shape和数据类型与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须是Scalar。数据类型为float32或float16。
|
||||
- **sign_decay** (Union[Number, Tensor]) - 必须是Scalar。数据类型为float32或float16。
|
||||
- **alpha** (Union[Number, Tensor]) - 必须是Scalar。数据类型为float32或float16。
|
||||
- **beta** (Union[Number, Tensor]) - 指数衰减率,必须是Scalar。数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 梯度,shape和数据类型与 `var` 相同。
|
||||
输出:
|
||||
2个Tensor组成的tuple,更新后的数据。
|
||||
|
||||
**输出:**
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **m** (Tensor) - shape和数据类型与 `m` 相同。
|
||||
|
||||
2个Tensor组成的tuple,更新后的数据。
|
||||
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **m** (Tensor) - shape和数据类型与 `m` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `var` 、 `lr` 、 `alpha` 、 `sign_decay` 或 `beta` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 、 `alpha` 或 `sign_decay` 既不是数值型,也不是Tensor。
|
||||
- **TypeError** - 如果 `grad` 不是Tensor。
|
||||
- **RuntimeError** - 如果不支持参数的 `var` 、 `accum` 和 `grad` 数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `var` 、 `lr` 、 `alpha` 、 `sign_decay` 或 `beta` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 、 `alpha` 或 `sign_decay` 既不是数值型,也不是Tensor。
|
||||
- **TypeError** - 如果 `grad` 不是Tensor。
|
||||
- **RuntimeError** - 如果不支持参数的 `var` 、 `accum` 和 `grad` 数据类型转换。
|
|
@ -31,30 +31,26 @@
|
|||
.. warning::
|
||||
在此算法的密集实现中, `mean_gradient` 、 `mean_square` 和 `moment` 在 `grad` 为零时仍将被更新。但在稀疏实现中, `mean_gradient` 、 `mean_square` 和 `moment` 不会在 `grad` 为零的迭代中被更新。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **use_locking** (bool) - 是否对参数更新增加锁保护。默认值:False。
|
||||
|
||||
- **use_locking** (bool) - 是否对参数更新增加锁保护。默认值:False。
|
||||
输入:
|
||||
- **var** (Tensor) - 要更新的权重。
|
||||
- **mean_gradient** (Tensor) - 均值梯度,数据类型必须与 `var` 相同。
|
||||
- **mean_square** (Tensor) - 均方梯度,数据类型必须与 `var` 相同。
|
||||
- **moment** (Tensor) - `var` 的增量,数据类型必须与 `var` 相同。
|
||||
- **grad** (Tensor) - 梯度,数据类型必须与 `var` 相同。
|
||||
- **learning_rate** (Union[Number, Tensor]) - 学习率。必须是float或Scalar的Tensor,数据类型为float16或float32。
|
||||
- **decay** (float) - 衰减率。
|
||||
- **momentum** (float) - 动量。
|
||||
- **epsilon** (float) - 添加在分母上的较小值,以避免被零除。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,更新后的数据。
|
||||
|
||||
- **var** (Tensor) - 要更新的权重。
|
||||
- **mean_gradient** (Tensor) - 均值梯度,数据类型必须与 `var` 相同。
|
||||
- **mean_square** (Tensor) - 均方梯度,数据类型必须与 `var` 相同。
|
||||
- **moment** (Tensor) - `var` 的增量,数据类型必须与 `var` 相同。
|
||||
- **grad** (Tensor) - 梯度,数据类型必须与 `var` 相同。
|
||||
- **learning_rate** (Union[Number, Tensor]) - 学习率。必须是float或Scalar的Tensor,数据类型为float16或float32。
|
||||
- **decay** (float) - 衰减率。
|
||||
- **momentum** (float) - 动量。
|
||||
- **epsilon** (float) - 添加在分母上的较小值,以避免被零除。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,更新后的数据。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `use_locking` 不是bool。
|
||||
- **TypeError** - 如果 `var` 、 `mean_gradient` 、 `mean_square` 、 `moment` 或 `grad` 不是Tensor。
|
||||
- **TypeError** - 如果 `learing_rate` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `learing_rate` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `decay` 、 `momentum` 或 `epsilon` 不是float。
|
||||
异常:
|
||||
- **TypeError** - 如果 `use_locking` 不是bool。
|
||||
- **TypeError** - 如果 `var` 、 `mean_gradient` 、 `mean_square` 、 `moment` 或 `grad` 不是Tensor。
|
||||
- **TypeError** - 如果 `learing_rate` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `learing_rate` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `decay` 、 `momentum` 或 `epsilon` 不是float。
|
||||
|
|
|
@ -7,28 +7,24 @@
|
|||
|
||||
更多详细信息请参见 :class:`mindspore.nn.FTRL` 。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值:False。
|
||||
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值:False。
|
||||
输入:
|
||||
- **var** (Parameter) - 要更新的权重。数据类型必须为float16或float32。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **accum** (Parameter) - 要更新的累积,shape和数据类型必须与 `var` 相同。
|
||||
- **linear** (Parameter) - 要更新的线性系数,shape和数据类型必须与 `var` 相同。
|
||||
- **grad** (Tensor) - 梯度。数据类型必须为float16或float32。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须为正值。它必须是float或数据类型为float16或float32的Scalar的Tensor。默认值:0.001。
|
||||
- **l1** (Union[Number, Tensor]) - l1正则化,必须大于或等于零。它必须是float类型或数据类型为float16或float32的Scalar的Tensor。默认值:0.0。
|
||||
- **l2** (Union[Number, Tensor]) - l2正则化,必须大于或等于零。它必须是float类型或数据类型为float16或float32的Scalar的Tensor。默认值:0.0。
|
||||
- **lr_power** (Union[Number, Tensor]) - 在训练期间控制降低学习率,必须小于或等于零。如果lr_power为零,则使用固定学习率。它必须是float类型或数据类型为float16或float32的Scalar的Tensor。默认值:-0.5。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
- **var** (Tensor) - 表示更新后的 `var` 。由于输入参数已更新,因此当平台为GPU时,此值始终为零。
|
||||
|
||||
- **var** (Parameter) - 要更新的权重。数据类型必须为float16或float32。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **accum** (Parameter) - 要更新的累积,shape和数据类型必须与 `var` 相同。
|
||||
- **linear** (Parameter) - 要更新的线性系数,shape和数据类型必须与 `var` 相同。
|
||||
- **grad** (Tensor) - 梯度。数据类型必须为float16或float32。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须为正值。它必须是float或数据类型为float16或float32的Scalar的Tensor。默认值:0.001。
|
||||
- **l1** (Union[Number, Tensor]) - l1正则化,必须大于或等于零。它必须是float类型或数据类型为float16或float32的Scalar的Tensor。默认值:0.0。
|
||||
- **l2** (Union[Number, Tensor]) - l2正则化,必须大于或等于零。它必须是float类型或数据类型为float16或float32的Scalar的Tensor。默认值:0.0。
|
||||
- **lr_power** (Union[Number, Tensor]) - 在训练期间控制降低学习率,必须小于或等于零。如果lr_power为零,则使用固定学习率。它必须是float类型或数据类型为float16或float32的Scalar的Tensor。默认值:-0.5。
|
||||
|
||||
**输出:**
|
||||
|
||||
- **var** (Tensor) - 表示更新后的 `var` 。由于输入参数已更新,因此当平台为GPU时,此值始终为零。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `use_locking` 不是bool。
|
||||
- **TypeError** - 如果 `var` 、 `grad` 、 `lr` 、 `l1` 、 `l2` 或 `lr_power` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 、 `l1` 、 `l2` 或 `lr_power` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `grad` 不是Tensor。
|
||||
异常:
|
||||
- **TypeError** - 如果 `use_locking` 不是bool。
|
||||
- **TypeError** - 如果 `var` 、 `grad` 、 `lr` 、 `l1` 、 `l2` 或 `lr_power` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 、 `l1` 、 `l2` 或 `lr_power` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `grad` 不是Tensor。
|
||||
|
|
|
@ -12,19 +12,16 @@
|
|||
|
||||
`var` 和 `delta` 的输入遵循隐式类型转换规则,使数据类型一致。如果它们具有不同的数据类型,则低精度数据类型将转换为相对最高精度数据类型。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **var** (Parameter) - 要更新的变量,为任意维度,其数据类型为float32或float16。
|
||||
- **alpha** (Union[Number, Tensor]) - 调节系数,必须是Scalar。数据类型为float32或float16。
|
||||
- **delta** (Tensor) - 变化的Tensor,shape和数据类型与 `var` 相同。
|
||||
|
||||
- **var** (Parameter) - 要更新的变量,为任意维度,其数据类型为float32或float16。
|
||||
- **alpha** (Union[Number, Tensor]) - 调节系数,必须是Scalar。数据类型为float32或float16。
|
||||
- **delta** (Tensor) - 变化的Tensor,shape和数据类型与 `var` 相同。
|
||||
输出:
|
||||
Tensor,更新后的 `var` 。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,更新后的 `var` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `var` 或 `alpha` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `delta` 不是Tensor。
|
||||
- **TypeError** - 如果 `alpha` 既不是数值型也不是Tensor。
|
||||
- **RuntimeError** - 如果不支持 `var` 和 `delta` 数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `var` 或 `alpha` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `delta` 不是Tensor。
|
||||
- **TypeError** - 如果 `alpha` 既不是数值型也不是Tensor。
|
||||
- **RuntimeError** - 如果不支持 `var` 和 `delta` 数据类型转换。
|
||||
|
|
|
@ -11,25 +11,21 @@
|
|||
|
||||
有关公式和用法的更多详细信息,请参阅 :class:`mindspore.nn.Momentum` 。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值:False。
|
||||
- **use_nesterov** (bool) - 是否使用nesterov动量。默认值:False。
|
||||
- **gradient_scale** (float) - 梯度的缩放比例。默认值:1.0。
|
||||
参数:
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值:False。
|
||||
- **use_nesterov** (bool) - 是否使用nesterov动量。默认值:False。
|
||||
- **gradient_scale** (float) - 梯度的缩放比例。默认值:1.0。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **variable** (Parameter) - 要更新的权重。数据类型必须为float。
|
||||
- **accumulation** (Parameter) - 按动量权重计算的累积梯度值,数据类型与 `variable` 相同。
|
||||
- **learning_rate** (Union[Number, Tensor]) - 学习率,必须是float或为float数据类型的Scalar的Tensor。
|
||||
- **gradient** (Tensor) - 梯度,数据类型与 `variable` 相同。
|
||||
- **momentum** (Union[Number, Tensor]) - 动量,必须是float或为float数据类型的Scalar的Tensor。
|
||||
|
||||
- **variable** (Parameter) - 要更新的权重。数据类型必须为float。
|
||||
- **accumulation** (Parameter) - 按动量权重计算的累积梯度值,数据类型与 `variable` 相同。
|
||||
- **learning_rate** (Union[Number, Tensor]) - 学习率,必须是float或为float数据类型的Scalar的Tensor。
|
||||
- **gradient** (Tensor) - 梯度,数据类型与 `variable` 相同。
|
||||
- **momentum** (Union[Number, Tensor]) - 动量,必须是float或为float数据类型的Scalar的Tensor。
|
||||
输出:
|
||||
Tensor,更新后的参数。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,更新后的参数。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `use_locking` 或 `use_nesterov` 不是bool,或 `gradient_scale` 不是float。
|
||||
- **RuntimeError** - 如果 `var` 、 `accum` 和 `grad` 不支持数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `use_locking` 或 `use_nesterov` 不是bool,或 `gradient_scale` 不是float。
|
||||
- **RuntimeError** - 如果 `var` 、 `accum` 和 `grad` 不支持数据类型转换。
|
||||
|
|
|
@ -18,26 +18,23 @@
|
|||
|
||||
所有输入都遵循隐式类型转换规则,以使数据类型一致。如果 `lr` 、 `logbase` 、 `sign_decay` 或 `beta` 是数值型,则会自动转换为Tensor,数据类型与操作中涉及的Tensor的数据类型一致。如果输入是Tensor,并且具有不同的数据类型,则低精度数据类型将转换为最高精度的数据类型。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **var** (Parameter) - 要更新的变量。数据类型为float32或float16。如果 `var` 的数据类型为float16,则所有输入的数据类型必须与 `var` 相同。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **m** (Parameter) - 要更新的变量,shape和数据类型与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,应该是Scalar或Tensor,数据类型为float32或float16。
|
||||
- **logbase** (Union[Number, Tensor]) - 应该是Scalar或Tensor,数据类型为float32或float16。
|
||||
- **sign_decay** (Union[Number, Tensor]) - 应该是Scalar或Tensor,数据类型为float32或float16。
|
||||
- **beta** (Union[Number, Tensor]) - 指数衰减率,应该是Scalar或Tensor,数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 梯度,shape和数据类型与 `var` 相同。
|
||||
|
||||
- **var** (Parameter) - 要更新的变量。数据类型为float32或float16。如果 `var` 的数据类型为float16,则所有输入的数据类型必须与 `var` 相同。shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
- **m** (Parameter) - 要更新的变量,shape和数据类型与 `var` 相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,应该是Scalar或Tensor,数据类型为float32或float16。
|
||||
- **logbase** (Union[Number, Tensor]) - 应该是Scalar或Tensor,数据类型为float32或float16。
|
||||
- **sign_decay** (Union[Number, Tensor]) - 应该是Scalar或Tensor,数据类型为float32或float16。
|
||||
- **beta** (Union[Number, Tensor]) - 指数衰减率,应该是Scalar或Tensor,数据类型为float32或float16。
|
||||
- **grad** (Tensor) - 梯度,shape和数据类型与 `var` 相同。
|
||||
输出:
|
||||
2个Tensor组成的tuple,更新后的参数。
|
||||
|
||||
**输出:**
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **m** (Tensor) - shape和数据类型与 `m` 相同。
|
||||
|
||||
2个Tensor组成的tuple,更新后的参数。
|
||||
|
||||
- **var** (Tensor) - shape和数据类型与 `var` 相同。
|
||||
- **m** (Tensor) - shape和数据类型与 `m` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果 `var` 、 `lr` 、 `logbase` 、 `sign_decay` 、 `beta` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 、 `logbase` 、 `sign_decay` 或 `beta` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `grad` 不是Tensor。
|
||||
- **RuntimeError** - 如果 `lr` 、 `logbase` 、 `sign_decay` 和 `grad` 不支持数据类型转换。
|
||||
异常:
|
||||
- **TypeError** - 如果 `var` 、 `lr` 、 `logbase` 、 `sign_decay` 、 `beta` 或 `grad` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - 如果 `lr` 、 `logbase` 、 `sign_decay` 或 `beta` 既不是数值型也不是Tensor。
|
||||
- **TypeError** - 如果 `grad` 不是Tensor。
|
||||
- **RuntimeError** - 如果 `lr` 、 `logbase` 、 `sign_decay` 和 `grad` 不支持数据类型转换。
|
||||
|
|
|
@ -15,30 +15,26 @@ mindspore.ops.ApplyProximalAdagrad
|
|||
|
||||
输入 `var` 、 `accum` 和 `grad` 之间必须遵守隐式类型转换规则以保证数据类型的统一。如果数据类型不同,低精度的数据类型将被自动转换到高精度的数据类型。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值:False。
|
||||
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值:False。
|
||||
输入:
|
||||
- **var** (Parameter) - 公式中的"var"。数据类型需为float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任何数量的附加维度。
|
||||
- **accum** (Parameter) - 公式中的"accum"。与 `var` 的shape和数据类型相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须为标量,数据类型为float16或float32。
|
||||
- **l1** (Union[Number, Tensor]) - l1正则化强度,必须为标量,数据类型为float16或float32。
|
||||
- **l2** (Union[Number, Tensor]) - l2正则化强度,必须为标量,数据类型为float16或float32。
|
||||
- **grad** (Tensor) - 梯度,与 `var` 的shape与数据类型相同。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
包含两个Tensor的Tuple,已被更新的参数。
|
||||
|
||||
- **var** (Parameter) - 公式中的"var"。数据类型需为float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任何数量的附加维度。
|
||||
- **accum** (Parameter) - 公式中的"accum"。与 `var` 的shape和数据类型相同。
|
||||
- **lr** (Union[Number, Tensor]) - 学习率,必须为标量,数据类型为float16或float32。
|
||||
- **l1** (Union[Number, Tensor]) - l1正则化强度,必须为标量,数据类型为float16或float32。
|
||||
- **l2** (Union[Number, Tensor]) - l2正则化强度,必须为标量,数据类型为float16或float32。
|
||||
- **grad** (Tensor) - 梯度,与 `var` 的shape与数据类型相同。
|
||||
- **var** (Tensor) - 与输入 `var` 的shape与数据类型相同。
|
||||
- **accum** (Tensor) - 与输入 `accum` 的shape与数据类型相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
包含两个Tensor的Tuple,已被更新的参数。
|
||||
|
||||
- **var** (Tensor) - 与输入 `var` 的shape与数据类型相同。
|
||||
- **accum** (Tensor) - 与输入 `accum` 的shape与数据类型相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `use_blocking` 不是bool类型。
|
||||
- **TypeError** - `var` 、 `lr` 、 `l1` 或 `l2` 的数据类型不是float16或float32。
|
||||
- **TypeError** - `lr` 、 `l1` 或 `l2` 的数据类型不是Number或Tensor。
|
||||
- **TypeError** - `grad` 不是Tensor。
|
||||
- **RuntimeError** - `var` 、 `accum` 和 `grad` 网络参数的数据类型转换错误。
|
||||
异常:
|
||||
- **TypeError** - `use_blocking` 不是bool类型。
|
||||
- **TypeError** - `var` 、 `lr` 、 `l1` 或 `l2` 的数据类型不是float16或float32。
|
||||
- **TypeError** - `lr` 、 `l1` 或 `l2` 的数据类型不是Number或Tensor。
|
||||
- **TypeError** - `grad` 不是Tensor。
|
||||
- **RuntimeError** - `var` 、 `accum` 和 `grad` 网络参数的数据类型转换错误。
|
||||
|
|
|
@ -17,21 +17,18 @@ mindspore.ops.ApplyProximalGradientDescent
|
|||
|
||||
输入 `var` 和 `delta` 之间必须遵守隐式类型转换规则以保证数据类型的统一。如果数据类型不同,低精度的数据类型将被自动转换到高精度的数据类型。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **var** (Parameter) - Tensor,公式中的"var"。数据类型为float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任何数量的附加维度。
|
||||
- **alpha** (Union[Number, Tensor]) - 比例系数,必须为标量。数据类型为float16或float32。
|
||||
- **l1** (Union[Number, Tensor]) - l1正则化强度,必须为标量。数据类型为float16或float32。
|
||||
- **l2** (Union[Number, Tensor]) - l2正则化强度,必须为标量。数据类型为float16或float32。
|
||||
- **delta** (Tensor) - 梯度Tensor,shape和数据类型与 `var` 相同。
|
||||
|
||||
- **var** (Parameter) - Tensor,公式中的"var"。数据类型为float16或float32。shape为 :math:`(N,*)` ,其中 :math:`*` 表示任何数量的附加维度。
|
||||
- **alpha** (Union[Number, Tensor]) - 比例系数,必须为标量。数据类型为float16或float32。
|
||||
- **l1** (Union[Number, Tensor]) - l1正则化强度,必须为标量。数据类型为float16或float32。
|
||||
- **l2** (Union[Number, Tensor]) - l2正则化强度,必须为标量。数据类型为float16或float32。
|
||||
- **delta** (Tensor) - 梯度Tensor,shape和数据类型与 `var` 相同。
|
||||
输出:
|
||||
Tensor,更新后的 `var` 。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,更新后的 `var` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `var` 、 `alpha` 、 `l1` 或 `l2` 的数据类型非float16或float32。
|
||||
- **TypeError** - `alpha` 、 `l1` 或 `l2` 不是Number或Tensor。
|
||||
- **TypeError** - `delta` 不是Tensor。
|
||||
- **RuntimeError** - `var` 和 `delta` 之间的数值转换不被支持。
|
||||
异常:
|
||||
- **TypeError** - `var` 、 `alpha` 、 `l1` 或 `l2` 的数据类型非float16或float32。
|
||||
- **TypeError** - `alpha` 、 `l1` 或 `l2` 不是Number或Tensor。
|
||||
- **TypeError** - `delta` 不是Tensor。
|
||||
- **RuntimeError** - `var` 和 `delta` 之间的数值转换不被支持。
|
||||
|
|
|
@ -24,30 +24,26 @@ mindspore.ops.ApplyRMSProp
|
|||
.. warning::
|
||||
在该算法的稠密实现版本中,"mean_square"和"momemt"即使"grad"为零将仍被更新。但在该稀疏实现版本中,在"grad"为零的迭代"mean_squre"和"moment"将不被更新。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值: False。
|
||||
|
||||
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值: False。
|
||||
输入:
|
||||
- **var** (Tensor) - 待更新的网络参数。
|
||||
- **mean_square** (Tensor) - 均方梯度,数据类型需与 `var` 相同。
|
||||
- **moment** (Tensor) - 一阶矩,数据类型需与 `var` 相同。
|
||||
- **learning_rate** (Union[Number, Tensor]) - 学习率。需为浮点数或者数据类型为float16或float32的标量矩阵。
|
||||
- **grad** (Tensor) - 梯度,数据类型需与 `var` 相同。
|
||||
- **decay** (float) - 衰减率。需为常量。
|
||||
- **momentum** (float) - 移动平均的动量项momentum。需为常量。
|
||||
- **epsilon** (float) - 避免除数为零的平滑项。需为常量。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,待更新的网络参数。
|
||||
|
||||
- **var** (Tensor) - 待更新的网络参数。
|
||||
- **mean_square** (Tensor) - 均方梯度,数据类型需与 `var` 相同。
|
||||
- **moment** (Tensor) - 一阶矩,数据类型需与 `var` 相同。
|
||||
- **learning_rate** (Union[Number, Tensor]) - 学习率。需为浮点数或者数据类型为float16或float32的标量矩阵。
|
||||
- **grad** (Tensor) - 梯度,数据类型需与 `var` 相同。
|
||||
- **decay** (float) - 衰减率。需为常量。
|
||||
- **momentum** (float) - 移动平均的动量项momentum。需为常量。
|
||||
- **epsilon** (float) - 避免除数为零的平滑项。需为常量。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,待更新的网络参数。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `use_locking` 不是bool类型。
|
||||
- **TypeError** - `var` 、 `mean_square` 、 `moment` 或 `decay` 不是Tensor。
|
||||
- **TypeError** - `learning_rate` 不是数值也不是Tensor。
|
||||
- **TypeError** - `decay` 、 `momentum` 或 `epsilon` 的数据类型非float。
|
||||
- **TypeError** - `learning_rate` 的数据类型不是float16或float32。
|
||||
- **ValueError** - `decay` 、 `momentum` 或 `epsilon` 不是常量。
|
||||
异常:
|
||||
- **TypeError** - `use_locking` 不是bool类型。
|
||||
- **TypeError** - `var` 、 `mean_square` 、 `moment` 或 `decay` 不是Tensor。
|
||||
- **TypeError** - `learning_rate` 不是数值也不是Tensor。
|
||||
- **TypeError** - `decay` 、 `momentum` 或 `epsilon` 的数据类型非float。
|
||||
- **TypeError** - `learning_rate` 的数据类型不是float16或float32。
|
||||
- **ValueError** - `decay` 、 `momentum` 或 `epsilon` 不是常量。
|
||||
|
|
|
@ -14,20 +14,16 @@ mindspore.ops.ApproximateEqual
|
|||
`tolerance` 为相等的两元素间最大偏差。
|
||||
输入 `x` 和 `y` 会通过隐式数据类型转换使数据类型保持一致。如果数据类型不同,低精度的数据类型会被自动转换到高精度的数据类型。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **tolerance** (float) - 两元素可被视为相等的最大偏差。默认值:1e-05。
|
||||
|
||||
- **tolerance** (float) - 两元素可被视为相等的最大偏差。 默认值:1e-05。
|
||||
输入:
|
||||
- **x** (Tensor) - 输入Tensor,需为以下数据类型:float16,float32。shape: :math:`(N,*)` ,其中 :math:`*` 表示任何数量的附加维度。其秩应小于8。
|
||||
- **y** (Tensor) - 输入Tensor,shape与数据类型与 `x` 相同。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,shape与 `x` 相同,bool类型。
|
||||
|
||||
- **x** (Tensor) - 输入Tensor,需为以下数据类型:float16,float32。shape: :math:`(N,*)` ,其中 :math:`*` 表示任何数量的附加维度。其秩应小于8。
|
||||
- **y** (Tensor) - 输入Tensor,shape与数据类型与 `x` 相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape与 `x` 相同,bool类型。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `tolerance` 不是float类型。
|
||||
- **RuntimeError** - `variable` 与 `value` 之间的类型转换不被支持。
|
||||
异常:
|
||||
- **TypeError** - `tolerance` 不是float类型。
|
||||
- **RuntimeError** - `variable` 与 `value` 之间的类型转换不被支持。
|
||||
|
|
|
@ -14,24 +14,20 @@
|
|||
- 如果有多个最大值,则取第一个最大值的索引。
|
||||
- "axis"的取值范围为[-dims, dims - 1]。"dims"为"input_x"的维度长度。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **axis** (int) - 指定计算维度。默认值:0。
|
||||
- **keep_dims** (bool) - 表示是否减少维度,如果为True,输出将与输入保持相同的维度;如果为False,输出将减少维度。默认值:False。
|
||||
|
||||
- **axis** (int) - 指定计算维度。默认值:0。
|
||||
- **keep_dims** (bool) - 表示是否减少维度,如果为True,输出将与输入保持相同的维度;如果为False,输出将减少维度。默认值:False。
|
||||
输入:
|
||||
- **input_x** (Tensor) - 输入任意维度的Tensor。将输入Tensor的shape设为 :math:`(x_1, x_2, ..., x_N)` 。数据类型为mindspore.float16或float32。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
tuple (Tensor),表示2个Tensor组成的tuple,包含对应的索引和输入Tensor的最大值。
|
||||
|
||||
- **input_x** (Tensor) - 输入任意维度的Tensor。将输入Tensor的shape设为 :math:`(x_1, x_2, ..., x_N)` 。数据类型为mindspore.float16或float32。
|
||||
- **index** (Tensor) - 输入Tensor最大值的索引。如果 `keep_dims` 为True,则输出Tensor的shape为 :math:`(x_1, x_2, ..., x_{axis-1}, 1, x_{axis+1}, ..., x_N)` 。否则,shape为 :math:`(x_1, x_2, ..., x_{axis-1}, x_{axis+1}, ..., x_N)` 。
|
||||
- **output_x** (Tensor) - 输入Tensor的最大值,其shape与索引相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
tuple (Tensor),表示2个Tensor组成的tuple,包含对应的索引和输入Tensor的最大值。
|
||||
|
||||
- **index** (Tensor) - 输入Tensor最大值的索引。如果 `keep_dims` 为True,则输出Tensor的shape为 :math:`(x_1, x_2, ..., x_{axis-1}, 1, x_{axis+1}, ..., x_N)` 。否则,shape为 :math:`(x_1, x_2, ..., x_{axis-1}, x_{axis+1}, ..., x_N)` 。
|
||||
- **output_x** (Tensor) - 输入Tensor的最大值,其shape与索引相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `input_x` 的数据类型非float16、float32或float64。
|
||||
- **TypeError** - `keep_dims` 不是bool。
|
||||
- **TypeError** - `axis` 不是int。
|
||||
异常:
|
||||
- **TypeError** - `input_x` 的数据类型非float16、float32或float64。
|
||||
- **TypeError** - `keep_dims` 不是bool。
|
||||
- **TypeError** - `axis` 不是int。
|
||||
|
|
|
@ -14,23 +14,19 @@
|
|||
- 如果有多个最小值,则取第一个最小值的索引。
|
||||
- "axis"的取值范围为[-dims, dims - 1]。"dims"为"input_x"的维度长度。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **axis** (int) - 指定计算维度。默认值:0。
|
||||
- **keep_dims** (bool) - 表示是否减少维度。如果为True,则输出维度和输入维度相同。如果为False,则减少输出维度。默认值:False。
|
||||
|
||||
- **axis** (int) - 指定计算维度。默认值:0。
|
||||
- **keep_dims** (bool) - 表示是否减少维度。如果为True,则输出维度和输入维度相同。如果为False,则减少输出维度。默认值:False。
|
||||
输入:
|
||||
- **x** (Tensor) - 输入任意维度的Tensor。将输入Tensor的shape设为 :math:`(x_1, x_2, ..., x_N)` 。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
tuple (Tensor),表示2个Tensor组成的tuple,包含对应的索引和输入Tensor的最小值。
|
||||
|
||||
- **x** (Tensor) - 输入任意维度的Tensor。将输入Tensor的shape设为 :math:`(x_1, x_2, ..., x_N)` 。
|
||||
- **index** (Tensor) - 输入Tensor最小值的索引。如果 `keep_dims` 为True,则输出Tensor的shape为 :math:`(x_1, x_2, ..., x_{axis-1}, 1, x_{axis+1}, ..., x_N)` 。否则,shape为 :math:`(x_1, x_2, ..., x_{axis-1}, x_{axis+1}, ..., x_N)` 。
|
||||
- **values** (Tensor) - 输入Tensor的最小值,其shape与索引相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
tuple (Tensor),表示2个Tensor组成的tuple,包含对应的索引和输入Tensor的最小值。
|
||||
|
||||
- **index** (Tensor) - 输入Tensor最小值的索引。如果 `keep_dims` 为True,则输出Tensor的shape为 :math:`(x_1, x_2, ..., x_{axis-1}, 1, x_{axis+1}, ..., x_N)` 。否则,shape为 :math:`(x_1, x_2, ..., x_{axis-1}, x_{axis+1}, ..., x_N)` 。
|
||||
- **values** (Tensor) - 输入Tensor的最小值,其shape与索引相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `keep_dims` 不是bool。
|
||||
- **TypeError** - `axis` 不是int。
|
||||
异常:
|
||||
- **TypeError** - `keep_dims` 不是bool。
|
||||
- **TypeError** - `axis` 不是int。
|
|
@ -7,24 +7,20 @@
|
|||
|
||||
如果输入Tensor的shape为 :math:`(x_1, ..., x_N)` ,则输出Tensor的shape为 :math:`(x_1, ..., x_{axis-1}, x_{axis+1}, ..., x_N)` 。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **axis** (int) - 指定Argmax计算轴。默认值:-1。
|
||||
- **output_type** (:class:`mindspore.dtype`) - 指定输出数据类型。默认值: `mindspore.dtype.int32` 。
|
||||
|
||||
- **axis** (int) - 指定Argmax计算轴。默认值:-1。
|
||||
- **output_type** (:class:`mindspore.dtype`) - 指定输出数据类型。默认值: `mindspore.dtype.int32` 。
|
||||
输入:
|
||||
- **input_x** (Tensor) - Argmax的输入,shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。支持的数据类型如下所示:
|
||||
|
||||
**输入:**
|
||||
- Ascend:float16和float32。
|
||||
- GPU:float16和float32。
|
||||
- CPU:float16、float32和float64。
|
||||
|
||||
- **input_x** (Tensor) - Argmax的输入,shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。支持的数据类型如下所示:
|
||||
输出:
|
||||
Tensor,输出为指定轴上输入Tensor最大值的索引。
|
||||
|
||||
- Ascend:float16和float32。
|
||||
- GPU:float16和float32。
|
||||
- CPU:float16、float32和float64。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,输出为指定轴上输入Tensor最大值的索引。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `axis` 不是int。
|
||||
- **TypeError** - `output_type` 既不是int32也不是int64。
|
||||
异常:
|
||||
- **TypeError** - `axis` 不是int。
|
||||
- **TypeError** - `output_type` 既不是int32也不是int64。
|
|
@ -7,20 +7,16 @@
|
|||
|
||||
如果输入Tensor的shape为 :math:`(x_1, ..., x_N)` ,则输出Tensor的shape为 :math:`(x_1, ..., x_{axis-1}, x_{axis+1}, ..., x_N)` 。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **axis** (int) - 指定Argmin计算轴。默认值:-1。
|
||||
- **output_type** (:class:`mindspore.dtype`) - 指定输出数据类型。默认值: `mindspore.dtype.int32` 。
|
||||
|
||||
- **axis** (int) - 指定Argmin计算轴。默认值:-1。
|
||||
- **output_type** (:class:`mindspore.dtype`) - 指定输出数据类型。默认值: `mindspore.dtype.int32` 。
|
||||
输入:
|
||||
- **input_x** (Tensor) - Argmin的输入,shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,输出为指定轴上输入Tensor最小值的索引。
|
||||
|
||||
- **input_x** (Tensor) - Argmin的输入,shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,输出为指定轴上输入Tensor最小值的索引。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `axis` 不是int。
|
||||
- **TypeError** - `output_type` 既不是int32也不是int64。
|
||||
异常:
|
||||
- **TypeError** - `axis` 不是int。
|
||||
- **TypeError** - `output_type` 既不是int32也不是int64。
|
||||
|
|
|
@ -16,29 +16,25 @@ mindspore.ops.AvgPool
|
|||
- 在Ascend上,"kernel_size"的高度和宽度取值为[1, 255]范围内的正整数。 其高度和宽度相乘小于256。
|
||||
- 由于指令限制,"strides"的取值为[1, 63]范围内的正整数。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 指定池化核尺寸大小,可以是单个整数表示池化核高度和宽度,或者整数tuple分别表示池化核高度和宽度。默认值:1。
|
||||
- **strides** (Union[int, tuple[int]]) - 池化操作的移动步长,可以是单个整数表示高度和宽度方向的移动步长,或者整数tuple分别表示高度和宽度方向的移动步长。默认值:1。
|
||||
- **pad_mode** (str) - 指定池化填充模式,取值为"same"或"valid",不区分大小写。默认值:"valid"。
|
||||
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 指定池化核尺寸大小,可以是单个整数表示池化核高度和宽度,或者整数tuple分别表示池化核高度和宽度。默认值:1。
|
||||
- **strides** (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。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,shape为 :math:`(N,C_{out},H_{out},W_{out})` 。
|
||||
|
||||
- **x** (Tensor) - 输入shape为 :math:`(N, C_{in}, H_{in}, W_{in})` 的Tensor。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape为 :math:`(N,C_{out},H_{out},W_{out})` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `kernel_size` 或 `strides` 既不是int也不是tuple。
|
||||
- **ValueError** - `pad_mode` 既不是'valid',也不是'same',不区分大小写。
|
||||
- **ValueError** - `data_format` 既不是'NCHW'也不是'NHWC'。
|
||||
- **ValueError** - `kernel_size` 或 `strides` 小于1。
|
||||
- **ValueError** - `x` 的shape长度不等于4。
|
||||
异常:
|
||||
- **TypeError** - `kernel_size` 或 `strides` 既不是int也不是tuple。
|
||||
- **ValueError** - `pad_mode` 既不是'valid',也不是'same',不区分大小写。
|
||||
- **ValueError** - `data_format` 既不是'NCHW'也不是'NHWC'。
|
||||
- **ValueError** - `kernel_size` 或 `strides` 小于1。
|
||||
- **ValueError** - `x` 的shape长度不等于4。
|
|
@ -15,40 +15,36 @@
|
|||
\frac{1}{kD * kH * kW} \sum_{l=0}^{kD-1} \sum_{m=0}^{kH-1} \sum_{n=0}^{kW-1}
|
||||
\text{input}(N_i, C_j, stride[0] \times d + l, stride[1] \times h + m, stride[2] \times w + n)
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 指定池化核尺寸大小,是一个整数,对应深度、高度和宽度,或者是含3个分别对应深度、高度和宽度整数的tuple。默认值:1。
|
||||
- **strides** (Union[int, tuple[int]]) - 池化操作的移动步长,是一个整数,对应移动深度、高度和宽度,或者是含3个分别表对应移动深度、高度和宽度整数的tuple。默认值:1。
|
||||
- **pad_mode** (str) - 指定池化填充模式,可选值有:"same"、"valid"或"pad"。默认值:"valid"。
|
||||
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 指定池化核尺寸大小,是一个整数,对应深度、高度和宽度,或者是含3个分别对应深度、高度和宽度整数的tuple。默认值:1。
|
||||
- **strides** (Union[int, tuple[int]]) - 池化操作的移动步长,是一个整数,对应移动深度、高度和宽度,或者是含3个分别表对应移动深度、高度和宽度整数的tuple。默认值:1。
|
||||
- **pad_mode** (str) - 指定池化填充模式,可选值有:"same"、"valid"或"pad"。默认值:"valid"。
|
||||
- **same** - 输出的深度、高度和宽度分别与输入整除 `stride` 后的值相同。
|
||||
- **valid** - 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。
|
||||
- **pad** - 对输入进行填充。 在输入的深度、高度和宽度方向上填充 `pad` 大小的0。如果设置此模式, `pad` 必须大于或等于0。
|
||||
|
||||
- **same** - 输出的深度、高度和宽度分别与输入整除 `stride` 后的值相同。
|
||||
- **valid** - 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。
|
||||
- **pad** - 对输入进行填充。 在输入的深度、高度和宽度方向上填充 `pad` 大小的0。如果设置此模式, `pad` 必须大于或等于0。
|
||||
- **pad** (Union(int, tuple[int])) - 池化填充方式。默认值:0。如果 `pad` 是一个整数,则头部、尾部、顶部、底部、左边和右边的填充都是相同的,等于pad。如果 `pad` 是六个integer的tuple,则头部、尾部、顶部、底部、左边和右边的填充分别等于填充pad[0]、pad[1]、pad[2]、pad[3]、pad[4]和pad[5]。
|
||||
- **ceil_mode** (bool) - 是否使用ceil函数计算输出高度和宽度。默认值:False。
|
||||
- **count_include_pad** (bool) - 如果为True,平均计算将包括零填充。默认值:True。
|
||||
- **divisor_override** (int) - 如果指定了该值,它将在平均计算中用作除数,否则将使用kernel_size作为除数。默认值:0。
|
||||
- **data_format** (str) - 输入和输出的数据格式。目前仅支持'NCDHW'。默认值:'NCDHW'。
|
||||
|
||||
- **pad** (Union(int, tuple[int])) - 池化填充方式。默认值:0。如果 `pad` 是一个整数,则头部、尾部、顶部、底部、左边和右边的填充都是相同的,等于pad。如果 `pad` 是六个integer的tuple,则头部、尾部、顶部、底部、左边和右边的填充分别等于填充pad[0]、pad[1]、pad[2]、pad[3]、pad[4]和pad[5]。
|
||||
- **ceil_mode** (bool) - 是否使用ceil函数计算输出高度和宽度。默认值:False。
|
||||
- **count_include_pad** (bool) - 如果为True,平均计算将包括零填充。默认值:True。
|
||||
- **divisor_override** (int) - 如果指定了该值,它将在平均计算中用作除数,否则将使用kernel_size作为除数。默认值:0。
|
||||
- **data_format** (str) - 输入和输出的数据格式。。目前仅支持'NCDHW'。默认值:'NCDHW'。
|
||||
输入:
|
||||
- **x** (Tensor) - shape为 :math:`(N, C, D_{in}, H_{in}, W_{in})` 的Tensor。数据类型为float16和float32。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,其shape为 :math:`(N, C, D_{out}, H_{out}, W_{out})` ,数据类型与 `x` 相同。
|
||||
|
||||
- **x** (Tensor) - shape为 :math:`(N, C, D_{in}, H_{in}, W_{in})` 的Tensor。数据类型为float16和float32。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,其shape为 :math:`(N, C, D_{out}, H_{out}, W_{out})` ,数据类型与 `x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `kernel_size` 、 `strides` 或 `pad` 既不是int也不是tuple。
|
||||
- **TypeError** - `ceil_mode` 或 `count_include_pad` 不是bool。
|
||||
- **TypeError** - `pad_mode` 或 `data_format` 不是string。
|
||||
- **TypeError** - `divisor_override` 不是int。
|
||||
- **ValueError** - `kernel_size` 或 `strides` 中的数字不是正数。
|
||||
- **ValueError** - `kernel_size` 或 `strides` 是长度不等于3的tuple。
|
||||
- **ValueError** - `pad_mode` 不是'same','valid',或'pad'。
|
||||
- **ValueError** - `pad` 是长度不等于6的tuple。
|
||||
- **ValueError** - `pad` 的元素小于0。
|
||||
- **ValueError** - `pad_mode` 不等于'pad'且 `pad` 不等于0或(0, 0, 0, 0, 0, 0)。
|
||||
- **ValueError** - `data_format` 不是'NCDHW'。
|
||||
异常:
|
||||
- **TypeError** - `kernel_size` 、 `strides` 或 `pad` 既不是int也不是tuple。
|
||||
- **TypeError** - `ceil_mode` 或 `count_include_pad` 不是bool。
|
||||
- **TypeError** - `pad_mode` 或 `data_format` 不是string。
|
||||
- **TypeError** - `divisor_override` 不是int。
|
||||
- **ValueError** - `kernel_size` 或 `strides` 中的数字不是正数。
|
||||
- **ValueError** - `kernel_size` 或 `strides` 是长度不等于3的tuple。
|
||||
- **ValueError** - `pad_mode` 不是'same','valid',或'pad'。
|
||||
- **ValueError** - `pad` 是长度不等于6的tuple。
|
||||
- **ValueError** - `pad` 的元素小于0。
|
||||
- **ValueError** - `pad_mode` 不等于'pad'且 `pad` 不等于0或(0, 0, 0, 0, 0, 0)。
|
||||
- **ValueError** - `data_format` 不是'NCDHW'。
|
|
@ -23,25 +23,21 @@ mindspore.ops.BCEWithLogitsLoss
|
|||
|
||||
:math:`\ell` 表示计算损失的方法。有三种方法:第一种方法是直接提供损失值,第二种方法是计算所有损失的平均值,第三种方法是计算所有损失的总和。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **reduction** (str) - 指定用于输出结果的计算方式。取值为 'mean' 、 'sum' 或 'none' ,不区分大小写。如果 'none' ,则不执行 `reduction` 。默认值:'mean' 。
|
||||
|
||||
- **reduction** (str) - 指定用于输出结果的计算方式。取值为 'mean' 、 'sum' 或 'none' ,不区分大小写。如果 'none' ,则不执行 `reduction` 。默认值:'mean' 。
|
||||
输入:
|
||||
- **logits** (Tensor) - 输入预测值,任意维度的Tensor。其数据类型为float16或float32。
|
||||
- **label** (Tensor) - 输入目标值,shape与 `logits` 相同。数据类型为float16或float32。
|
||||
- **weight** (Tensor) - 指定每个批次二值交叉熵的权重。支持广播,使其shape与 `logits` 的shape保持一致。数据类型必须为float16或float32。
|
||||
- **pos_weight** (Tensor) - 指定正类的权重。是一个长度等于分类数的向量。支持广播,使其shape与 `logits` 的shape保持一致。数据类型必须为float16或float32。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor或Scalar,如果 `reduction` 为 'none' ,则为shape和数据类型与输入 `logits` 相同的Tensor。否则,输出为Scalar。
|
||||
|
||||
- **logits** (Tensor) - 输入预测值,任意维度的Tensor。其数据类型为float16或float32。
|
||||
- **label** (Tensor) - 输入目标值,shape与 `logits` 相同。数据类型为float16或float32。
|
||||
- **weight** (Tensor) - 指定每个批次二值交叉熵的权重。支持广播,使其shape与 `logits` 的shape保持一致。数据类型必须为float16或float32。
|
||||
- **pos_weight** (Tensor) - 指定正类的权重。是一个长度等于分类数的向量。支持广播,使其shape与 `logits` 的shape保持一致。数据类型必须为float16或float32。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor或Scalar,如果 `reduction` 为 'none' ,则为shape和数据类型与输入 `logits` 相同的Tensor。否则,输出为Scalar。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 任何输入不是Tensor。
|
||||
- **TypeError** - 任何输入的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - `reduction` 的数据类型不是string。
|
||||
- **ValueError** - `weight` 或 `pos_weight` 不能广播到shape为 `logits` 的Tensor。
|
||||
- **ValueError** - `reduction` 不为 'none' 、 'mean' 或 'sum' 。
|
||||
异常:
|
||||
- **TypeError** - 任何输入不是Tensor。
|
||||
- **TypeError** - 任何输入的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - `reduction` 的数据类型不是string。
|
||||
- **ValueError** - `weight` 或 `pos_weight` 不能广播到shape为 `logits` 的Tensor。
|
||||
- **ValueError** - `reduction` 不为 'none' 、 'mean' 或 'sum' 。
|
|
@ -10,21 +10,17 @@ mindspore.ops.BatchMatMul
|
|||
|
||||
两个输入Tensor必须具有相同的秩,并且秩必须不小于 `3`。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **transpose_a** (bool) - 如果为True,则在乘法之前转置 `x` 的最后两个维度。默认值:False。
|
||||
- **transpose_b** (bool) - 如果为True,则在乘法之前转置 `y` 的最后两个维度。默认值:False。
|
||||
|
||||
- **transpose_a** (bool) - 如果为True,则在乘法之前转置 `x` 的最后两个维度。默认值:False。
|
||||
- **transpose_b** (bool) - 如果为True,则在乘法之前转置 `y` 的最后两个维度。默认值:False。
|
||||
输入:
|
||||
- **x** (Tensor) - 输入相乘的第一个Tensor。其shape为 :math:`(*B, N, C)` ,其中 :math:`*B` 表示批处理大小,可以是多维度, :math:`N` 和 :math:`C` 是最后两个维度的大小。如果 `transpose_a` 为True,则其shape必须为 :math:`(*B,C,N)` 。
|
||||
- **y** (Tensor) - 输入相乘的第二个Tensor。Tensor的shape为 :math:`(*B, C, M)` 。如果 `transpose_b` 为True,则其shape必须为 :math:`(*B, M, C)` 。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,输出Tensor的shape为 :math:`(*B, N, M)` 。
|
||||
|
||||
- **x** (Tensor) - 输入相乘的第一个Tensor。其shape为 :math:`(*B, N, C)` ,其中 :math:`*B` 表示批处理大小,可以是多维度, :math:`N` 和 :math:`C` 是最后两个维度的大小。如果 `transpose_a` 为True,则其shape必须为 :math:`(*B,C,N)` 。
|
||||
- **y** (Tensor) - 输入相乘的第二个Tensor。Tensor的shape为 :math:`(*B, C, M)` 。如果 `transpose_b` 为True,则其shape必须为 :math:`(*B, M, C)` 。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,输出Tensor的shape为 :math:`(*B, N, M)` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `transpose_a` 或 `transpose_b` 不是bool。
|
||||
- **ValueError** - `x` 的shape长度不等于 `y` 的shape长度或 `x` 的shape长度小于3。
|
||||
异常:
|
||||
- **TypeError** - `transpose_a` 或 `transpose_b` 不是bool。
|
||||
- **ValueError** - `x` 的shape长度不等于 `y` 的shape长度或 `x` 的shape长度小于3。
|
||||
|
|
|
@ -16,45 +16,41 @@ mindspore.ops.BatchNorm
|
|||
- 如果该运算用于推理,并且输出"reserve_space_1"和"reserve_space_2"可用,则"reserve_space_1"的值与"mean"相同,"reserve_space_2"的值与"variance"相同。
|
||||
- 对于Ascend 310,由于平方根指令,结果精度未能达到1‰。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **is_training** (bool) - 如果 `is_training` 为True,则在训练期间计算 `mean` 和 `variance`。如果 `is_training` 为False,则在推理期间从checkpoint加载。默认值:False。
|
||||
- **epsilon** (float) - 添加到分母上的值,以确保数值稳定性。默认值:1e-5。
|
||||
- **momentum** (float) - 动态均值和动态方差所使用的动量。(例如 :math:`new\_running\_mean = (1 - momentum) * running\_mean + momentum * current\_mean`)。动量值必须为[0, 1]。默认值:0.1。
|
||||
- **data_format** (str) - 输入数据格式,可选值有:'NHWC'或'NCHW'。默认值:'NCHW'。
|
||||
|
||||
- **is_training** (bool) - 如果 `is_training` 为True,则在训练期间计算 `mean` 和 `variance`。如果 `is_training` 为False,则在推理期间从checkpoint加载。默认值:False。
|
||||
- **epsilon** (float) - 添加到分母上的值,以确保数值稳定性。默认值:1e-5。
|
||||
- **momentum** (float) - 动态均值和动态方差所使用的动量。(例如 :math:`new\_running\_mean = (1 - momentum) * running\_mean + momentum * current\_mean`)。动量值必须为[0, 1]。默认值:0.1。
|
||||
- **data_format** (str) - 输入数据格式,可选值有:'NHWC'或'NCHW'。默认值:'NCHW'。
|
||||
输入:
|
||||
如果 `is_training` 为False,则输入为多个Tensor。
|
||||
|
||||
**输入:**
|
||||
- **input_x** (Tensor) - 数据输入,shape为 :math:`(N, C)` 的Tensor,数据类型为float16或float32。
|
||||
- **scale** (Tensor) - 输入Scalar,shape为 :math:`(C,)` 的Tensor,数据类型为float16或float32。
|
||||
- **bias** (Tensor) - 输入偏置项,shape为 :math:`(C,)` 的Tensor,具有与 `scale` 相同的数据类型。
|
||||
- **mean** (Tensor) - 输入均值,shape为 :math:`(C,)` 的Tensor,具有与 `scale` 相同的数据类型。
|
||||
- **variance** (Tensor) - 输入方差,shape为 :math:`(C,)` 的Tensor,具有与 `scale` 相同的数据类型。
|
||||
|
||||
如果 `is_training` 为False,则输入为多个Tensor。
|
||||
如果 `is_training` 为True,则 `scale` 、 `bias` 、 `mean` 和 `variance` 是Parameter。
|
||||
|
||||
- **input_x** (Tensor) - 数据输入,shape为 :math:`(N, C)` 的Tensor,数据类型为float16或float32。
|
||||
- **scale** (Tensor) - 输入Scalar,shape为 :math:`(C,)` 的Tensor,数据类型为float16或float32。
|
||||
- **bias** (Tensor) - 输入偏置项,shape为 :math:`(C,)` 的Tensor,具有与 `scale` 相同的数据类型。
|
||||
- **mean** (Tensor) - 输入均值,shape为 :math:`(C,)` 的Tensor,具有与 `scale` 相同的数据类型。
|
||||
- **variance** (Tensor) - 输入方差,shape为 :math:`(C,)` 的Tensor,具有与 `scale` 相同的数据类型。
|
||||
|
||||
如果 `is_training` 为True,则 `scale` 、 `bias` 、 `mean` 和 `variance` 是Parameter。
|
||||
|
||||
- **input_x** (Tensor) - 数据输入,shape为 :math:`(N, C)` 的Tensor,数据类型为float16或float32。
|
||||
- **scale** (Parameter) - 输入Scalar,shape为 :math:`(C,)` 的参数,数据类型为float16或float32。
|
||||
- **bias** (Parameter) - 输入偏置项,shape为 :math:`(C,)` 的参数,具有与 `scale` 相同的数据类型。
|
||||
- **mean** (Parameter) - 输入均值,shape为 :math:`(C,)` 的参数,具有与 `scale` 相同的数据类型。
|
||||
- **variance** (Parameter) - 输入方差,shape为 :math:`(C,)` 的参数,具有与 `scale` 相同的数据类型。
|
||||
- **input_x** (Tensor) - 数据输入,shape为 :math:`(N, C)` 的Tensor,数据类型为float16或float32。
|
||||
- **scale** (Parameter) - 输入Scalar,shape为 :math:`(C,)` 的参数,数据类型为float16或float32。
|
||||
- **bias** (Parameter) - 输入偏置项,shape为 :math:`(C,)` 的参数,具有与 `scale` 相同的数据类型。
|
||||
- **mean** (Parameter) - 输入均值,shape为 :math:`(C,)` 的参数,具有与 `scale` 相同的数据类型。
|
||||
- **variance** (Parameter) - 输入方差,shape为 :math:`(C,)` 的参数,具有与 `scale` 相同的数据类型。
|
||||
|
||||
**输出:**
|
||||
输出:
|
||||
5个Tensor组成的tuple、归一化输入和更新的参数。
|
||||
|
||||
5个Tensor组成的tuple、归一化输入和更新的参数。
|
||||
- **output_x** (Tensor) - 数据类型和shape与输入 `input_x` 相同。shape为 :math:`(N, C)` 。
|
||||
- **batch_mean** (Tensor) - 输入的均值,shape为 :math:`(C,)` 的一维Tensor。
|
||||
- **batch_variance** (Tensor) - 输入的方差,shape为 :math:`(C,)` 的一维Tensor。
|
||||
- **reserve_space_1** (Tensor) - 需要计算梯度时,被重新使用的均值,shape为 :math:`(C,)` 的一维Tensor。
|
||||
- **reserve_space_2** (Tensor) - 需要计算梯度时,被重新使用的方差,shape为 :math:`(C,)` 的一维Tensor。
|
||||
|
||||
- **output_x** (Tensor) - 数据类型和shape与输入 `input_x` 相同。shape为 :math:`(N, C)` 。
|
||||
- **batch_mean** (Tensor) - 输入的均值,shape为 :math:`(C,)` 的一维Tensor。
|
||||
- **batch_variance** (Tensor) - 输入的方差,shape为 :math:`(C,)` 的一维Tensor。
|
||||
- **reserve_space_1** (Tensor) - 需要计算梯度时,被重新使用的均值,shape为 :math:`(C,)` 的一维Tensor。
|
||||
- **reserve_space_2** (Tensor) - 需要计算梯度时,被重新使用的方差,shape为 :math:`(C,)` 的一维Tensor。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError:** `is_training` 不是bool。
|
||||
- **TypeError:** `epsilon` 或 `momentum` 的数据类型不是float。
|
||||
- **TypeError:** `data_format` 不是str。
|
||||
- **TypeError:** `input_x`、`scale`、`bias`、`mean` 或 `variance` 不是Tensor。
|
||||
- **TypeError:** `input_x` 和 `scale` 的数据类型既不是float16,也不是float32。
|
||||
异常:
|
||||
- **TypeError:** `is_training` 不是bool。
|
||||
- **TypeError:** `epsilon` 或 `momentum` 的数据类型不是float。
|
||||
- **TypeError:** `data_format` 不是str。
|
||||
- **TypeError:** `input_x`、`scale`、`bias`、`mean` 或 `variance` 不是Tensor。
|
||||
- **TypeError:** `input_x` 和 `scale` 的数据类型既不是float16,也不是float32。
|
|
@ -12,15 +12,12 @@ mindspore.ops.BesselI0e
|
|||
|
||||
其中bessel_i0是第一类0阶的Bessel函数。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **x** (Tensor) - 任意维度的Tensor。数据类型应为float16,float32或float64。
|
||||
|
||||
- **x** (Tensor) - 任意维度的Tensor。数据类型应为float16,float32或float64。
|
||||
输出:
|
||||
Tensor,shape和数据类型与 `x` 相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape和数据类型与 `x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `x` 不是Tensor。
|
||||
- **TypeError** - `x` 的数据类型不是float16,float32或float64。
|
||||
异常:
|
||||
- **TypeError** - `x` 不是Tensor。
|
||||
- **TypeError** - `x` 的数据类型不是float16,float32或float64。
|
||||
|
|
|
@ -12,15 +12,12 @@ mindspore.ops.BesselI1e
|
|||
|
||||
其中bessel_i1是第一类1阶的Bessel函数。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **x** (Tensor) - 任意维度的Tensor。数据类型应为float16,float32或float64。
|
||||
|
||||
- **x** (Tensor) - 任意维度的Tensor。数据类型应为float16,float32或float64。
|
||||
输出:
|
||||
Tensor,shape和数据类型与 `x` 相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape和数据类型与 `x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `x` 不是Tensor。
|
||||
- **TypeError** - `x` 的数据类型不是float16,float32或float64。
|
||||
异常:
|
||||
- **TypeError** - `x` 不是Tensor。
|
||||
- **TypeError** - `x` 的数据类型不是float16,float32或float64。
|
||||
|
|
|
@ -5,24 +5,20 @@ mindspore.ops.BiasAdd
|
|||
|
||||
返回输入Tensor与偏置Tensor之和。相加前会把偏置Tensor广播成与输入Tensor的shape一致。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **data_format** (str) - 输入和输出数据的格式。取值为'NHWC'、'NCHW'或'NCDHW'。默认值:'NCHW'。
|
||||
|
||||
- **data_format** (str) - 输入和输出数据的格式。取值为'NHWC'、'NCHW'或'NCDHW'。默认值:'NCHW'。
|
||||
输入:
|
||||
- **input_x** (Tensor) -输入Tensor。shape可以有2~5个维度。数据类型应为float16或float32。
|
||||
- **bias** (Tensor) - 偏置Tensor,shape为 :math:`(C)`。C必须与 `input_x` 的通道维度C相同。数据类型应为float16或float32。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,shape和数据类型与 `input_x` 相同。
|
||||
|
||||
- **input_x** (Tensor) -输入Tensor。shape可以有2~5个维度。数据类型应为float16或float32。
|
||||
- **bias** (Tensor) - 偏置Tensor,shape为 :math:`(C)`。C必须与 `input_x` 的通道维度C相同。数据类型应为float16或float32。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape和数据类型与 `input_x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `data_format` 不是str。
|
||||
- **ValueError** - `data_format` 的值不在['NHWC', 'NCHW', 'NCDHW']范围内。
|
||||
- **TypeError** - `input_x` 或 `bias` 不是Tensor。
|
||||
- **TypeError** - `input_x` 或 `bias` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - `input_x` 或 `bias` 的数据类型不一致。
|
||||
- **TypeError** - `input_x` 的维度不在[2, 5]范围内。
|
||||
异常:
|
||||
- **TypeError** - `data_format` 不是str。
|
||||
- **ValueError** - `data_format` 的值不在['NHWC', 'NCHW', 'NCDHW']范围内。
|
||||
- **TypeError** - `input_x` 或 `bias` 不是Tensor。
|
||||
- **TypeError** - `input_x` 或 `bias` 的数据类型既不是float16也不是float32。
|
||||
- **TypeError** - `input_x` 或 `bias` 的数据类型不一致。
|
||||
- **TypeError** - `input_x` 的维度不在[2, 5]范围内。
|
|
@ -24,23 +24,19 @@ mindspore.ops.BinaryCrossEntropy
|
|||
- :math:`x` 的值必须在0到1之间。
|
||||
- :math:`y` 的值必须为0或1。
|
||||
|
||||
**参数:**
|
||||
|
||||
**reduction** (str) - 指定输出的计算方式。取值为'none'、'mean'或'sum'。默认值:'mean'。
|
||||
参数:
|
||||
- **reduction** (str) - 指定输出的计算方式。取值为'none'、'mean'或'sum'。默认值:'mean'。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **logits** (Tensor) - 输入预测值。任意维度的Tensor,其数据类型必须为float16或float32。
|
||||
- **labels** (Tensor) - 输入目标值,其shape和数据类型与 `logits` 相同。
|
||||
- **weight** (Tensor, optional) - 每个批次二值交叉熵的权重。且shape和数据类型必须与 `logits` 相同。默认值:None。
|
||||
|
||||
- **logits** (Tensor) - 输入预测值。任意维度的Tensor,其数据类型必须为float16或float32。
|
||||
- **labels** (Tensor) - 输入目标值,其shape和数据类型与 `logits` 相同。
|
||||
- **weight** (Tensor, optional) - 每个批次二值交叉熵的权重。且shape和数据类型必须与 `logits` 相同。默认值:None。
|
||||
输出:
|
||||
Tensor,与 `logits` 有相同的数据类型。如果 `reduction` 为'none',则shape与 `logits` 相同。否则,输出为Scalar Tensor。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,与 `logits` 有相同的数据类型。如果 `reduction` 为'none',则shape与 `logits` 相同。否则,输出为Scalar Tensor。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `logits` 、 `labels` 及 `weight` 的数据类型既不是float16,也不是float32。
|
||||
- **ValueError** - `reduction` 不为'none'、'mean'或'sum'。
|
||||
- **ValueError** - `labels` 的shape与 `logits` 或 `weight` 不同。
|
||||
- **TypeError** - `logits` 、 `labels` 或 `weight` 不是Tensor。
|
||||
异常:
|
||||
- **TypeError** - `logits` 、 `labels` 及 `weight` 的数据类型既不是float16,也不是float32。
|
||||
- **ValueError** - `reduction` 不为'none'、'mean'或'sum'。
|
||||
- **ValueError** - `labels` 的shape与 `logits` 或 `weight` 不同。
|
||||
- **TypeError** - `logits` 、 `labels` 或 `weight` 不是Tensor。
|
||||
|
|
|
@ -8,19 +8,15 @@
|
|||
.. note::
|
||||
集合中的所有进程的Tensor的shape和数据格式相同。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **root_rank** (int) - 表示发送源的进程编号。除发送数据的进程外,存在于所有进程中。
|
||||
- **group** (str) - 表示通信域。默认值:"hccl_world_group"。
|
||||
|
||||
- **root_rank** (int) - 表示发送源的进程编号。除发送数据的进程外,存在于所有进程中。
|
||||
- **group** (str) - 表示通信域。默认值:"hccl_world_group"。
|
||||
输入:
|
||||
- **input_x** (Tensor) - Tensor的shape为 :math:`(x_1, x_2, ..., x_R)` 。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,shape与输入相同,即 :math:`(x_1, x_2, ..., x_R)` 。内容取决于 `root_rank` device的数据。
|
||||
|
||||
- **input_x** (Tensor) - Tensor的shape为 :math:`(x_1, x_2, ..., x_R)` 。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape与输入相同,即 :math:`(x_1, x_2, ..., x_R)` 。内容取决于 `root_rank` device的数据。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - root_rank不是int或group不是str。
|
||||
异常:
|
||||
- **TypeError** - root_rank不是int或group不是str。
|
|
@ -9,29 +9,25 @@ mindspore.ops.CTCLoss
|
|||
|
||||
CTCLoss计算连续时间序列和目标序列之间的损失。 CTCLoss对输入到目标的概率求和,产生一个损失值,该值相对于每个输入节点是可微的。 假设输入与目标的对齐是“多对一”的,这样目标序列的长度必须小于或等于输入的长度。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **preprocess_collapse_repeated** (bool) - 如果为True,在CTC计算之前将折叠重复标签。默认值:False。
|
||||
- **ctc_merge_repeated** (bool) - 如果为False,在CTC计算过程中,重复的非空白标签不会被合并,这些标签将被解释为单独的标签。这是CTC的简化版本。默认值:True。
|
||||
- **ignore_longer_outputs_than_inputs** (bool) - 如果为True,则输出比输入长的序列将被忽略。默认值:False。
|
||||
|
||||
- **preprocess_collapse_repeated** (bool) - 如果为True,在CTC计算之前将折叠重复标签。默认值:False。
|
||||
- **ctc_merge_repeated** (bool) - 如果为False,在CTC计算过程中,重复的非空白标签不会被合并,这些标签将被解释为单独的标签。这是CTC的简化版本。默认值:True。
|
||||
- **ignore_longer_outputs_than_inputs** (bool) - 如果为True,则输出比输入长的序列将被忽略。默认值:False。
|
||||
输入:
|
||||
- **x** (Tensor) - 输入Tensor,其shape为 :math:`(max\_time, batch\_size, num\_classes)` 的三维Tensor。 `num_classes` 表示类别数,必须是 `num_labels + 1` , `num_labels` 表示实际标签的数量。保留空白标签。默认空白标签为 `num_classes - 1` 。数据类型必须为float16、float32或float64。
|
||||
- **labels_indices** (Tensor) - 标签的索引。 `labels_indices[i, :] = [b, t]` 表示 `labels_values[i]` 存储 `(batch b, time t)` 的ID。数据类型必须为int64,秩必须为2。
|
||||
- **labels_values** (Tensor) - 一维Tensor。这些值与给定的batch size和时间相关联。数据类型必须为int32。 `labels_values[i]` 必须在 `[0, num_classes)` 的范围内。
|
||||
- **sequence_length** (Tensor) - 包含序列长度的Tensor,shape为 :math:`(batch\_size, )` 。数据类型必须为int32。Tensor中的每个值不得大于最大时间。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
- **loss** (Tensor) - 包含对数概率的Tensor,shape为 :math:`(batch\_size, )` 。Tensor的数据类型与 `x` 相同。
|
||||
- **gradient** (Tensor) - `loss` 的梯度,shape和数据类型与 `x` 相同。
|
||||
|
||||
- **x** (Tensor) - 输入Tensor,其shape为 :math:`(max\_time, batch\_size, num\_classes)` 的三维Tensor。 `num_classes` 表示类别数,必须是 `num_labels + 1` , `num_labels` 表示实际标签的数量。保留空白标签。默认空白标签为 `num_classes - 1` 。数据类型必须为float16、float32或float64。
|
||||
- **labels_indices** (Tensor) - 标签的索引。 `labels_indices[i, :] = [b, t]` 表示 `labels_values[i]` 存储 `(batch b, time t)` 的ID。数据类型必须为int64,秩必须为2。
|
||||
- **labels_values** (Tensor) - 一维Tensor。这些值与给定的batch size和时间相关联。数据类型必须为int32。 `labels_values[i]` 必须在 `[0, num_classes)` 的范围内。
|
||||
- **sequence_length** (Tensor) - 包含序列长度的Tensor,shape为 :math:`(batch\_size, )` 。数据类型必须为int32。Tensor中的每个值不得大于最大时间。
|
||||
|
||||
**输出:**
|
||||
|
||||
- **loss** (Tensor) - 包含对数概率的Tensor,shape为 :math:`(batch\_size, )` 。Tensor的数据类型与 `x` 相同。
|
||||
- **gradient** (Tensor) - `loss` 的梯度,shape和数据类型与 `x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `preprocess_collapse_repeated` 、 `ctc_merge_repeated` 或 `ignore_longer_outputs_than_inputs` 不是bool。
|
||||
- **TypeError** - `x` 、 `labels_indices` 、 `labels_values` 或 `sequence_length` 不是Tensor。
|
||||
- **ValueError** - `labels_indices` 的秩不等于2。
|
||||
- **TypeError** - `x` 的数据类型不是float16、float32或float64。
|
||||
- **TypeError** - `labels_indices` 的数据类型不是int64。
|
||||
- **TypeError** - `labels_values` 或 `sequence_length` 的数据类型不是int32。
|
||||
异常:
|
||||
- **TypeError** - `preprocess_collapse_repeated` 、 `ctc_merge_repeated` 或 `ignore_longer_outputs_than_inputs` 不是bool。
|
||||
- **TypeError** - `x` 、 `labels_indices` 、 `labels_values` 或 `sequence_length` 不是Tensor。
|
||||
- **ValueError** - `labels_indices` 的秩不等于2。
|
||||
- **TypeError** - `x` 的数据类型不是float16、float32或float64。
|
||||
- **TypeError** - `labels_indices` 的数据类型不是int64。
|
||||
- **TypeError** - `labels_values` 或 `sequence_length` 的数据类型不是int32。
|
||||
|
|
|
@ -5,16 +5,13 @@
|
|||
|
||||
转换输入Tensor的数据类型。
|
||||
|
||||
**输入:**
|
||||
输入:
|
||||
- **input_x** (Union[Tensor, Number]) - 输入要进行数据类型转换的Tensor,其shape为 :math:`(x_1, x_2, ..., x_R)` 。
|
||||
- **type** (dtype.Number) - 指定转换的数据类型。仅支持常量值。
|
||||
|
||||
- **input_x** (Union[Tensor, Number]) - 输入要进行数据类型转换的Tensor,其shape为 :math:`(x_1, x_2, ..., x_R)` 。
|
||||
- **type** (dtype.Number) - 指定转换的数据类型。仅支持常量值。
|
||||
输出:
|
||||
Tensor,其shape与 `input_x` 相同,即 :math:`(x_1, x_2, ..., x_R)` 。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,其shape与 `input_x` 相同,即 :math:`(x_1, x_2, ..., x_R)` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `input_x` 既不是Tensor也不是数值型。
|
||||
- **TypeError** - `type` 不是数值型。
|
||||
异常:
|
||||
- **TypeError** - `input_x` 既不是Tensor也不是数值型。
|
||||
- **TypeError** - `type` 不是数值型。
|
|
@ -7,25 +7,21 @@
|
|||
|
||||
当目标类与抽样类匹配时,我们称之为"accidental hit"。accidental hit的计算结果包含三部分(indices、ids、weights),其中index代表目标类中的行号,id代表候选抽样中的位置,weight为float类型中的最大值。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **num_true** (int) - 每个训练样本的目标类数。默认值:1。
|
||||
|
||||
- **num_true** (int) - 每个训练样本的目标类数。默认值:1。
|
||||
输入:
|
||||
- **true_classes** (Tensor) - 目标类。数据类型为int32或int64,shape为 :math:`(batch\_size, num\_true)` 。
|
||||
- **sampled_candidates** (Tensor) - 算子的候选采样结果,代表训练样本的类别。其数据类型为int32或int64,shape为 :math:`(num\_sampled, )` 。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
3个Tensor组成的元组。
|
||||
|
||||
- **true_classes** (Tensor) - 目标类。数据类型为int32或int64,shape为 :math:`(batch\_size, num\_true)` 。
|
||||
- **sampled_candidates** (Tensor) - 算子的候选采样结果,代表训练样本的类别。其数据类型为int32或int64,shape为 :math:`(num\_sampled, )` 。
|
||||
- **indices** (Tensor) - shape为 :math:`(num\_accidental\_hits, )` 的Tensor,具有与 `true_classes` 相同的类型。
|
||||
- **ids** (Tensor) - shape为 :math:`(num\_accidental\_hits, )` 的Tensor,具有与 `true_classes` 相同的类型。
|
||||
- **weights** (Tensor) - shape为 :math:`(num\_accidental\_hits, )` 的Tensor,类型为float32。
|
||||
|
||||
**输出:**
|
||||
|
||||
3个Tensor组成的元组。
|
||||
|
||||
- **indices** (Tensor) - shape为 :math:`(num\_accidental\_hits, )` 的Tensor,具有与 `true_classes` 相同的类型。
|
||||
- **ids** (Tensor) - shape为 :math:`(num\_accidental\_hits, )` 的Tensor,具有与 `true_classes` 相同的类型。
|
||||
- **weights** (Tensor) - shape为 :math:`(num\_accidental\_hits, )` 的Tensor,类型为float32。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `num_true` 的数据类型不为int。
|
||||
- **TypeError** - `true_classes` 或 `sampled_candidates` 不是Tensor。
|
||||
- **TypeError** - `true_classes` 或 `sampled_candidates` 的数据类型既不是int32也不是int64。
|
||||
异常:
|
||||
- **TypeError** - `num_true` 的数据类型不为int。
|
||||
- **TypeError** - `true_classes` 或 `sampled_candidates` 不是Tensor。
|
||||
- **TypeError** - `true_classes` 或 `sampled_candidates` 的数据类型既不是int32也不是int64。
|
|
@ -17,38 +17,34 @@ mindspore.ops.Conv2D
|
|||
|
||||
请参考论文 `Gradient Based Learning Applied to Document Recognition <http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf>`_ 。更详细的介绍,参见:http://cs231n.github.io/convolutional-networks/。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **out_channel** (int) - :math:`C_{out}` 为输出通道数。
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 数据类型为int或一个包含2个int组成的元组。指定二维卷积核的高度和宽度。单个整数表示该值同时适用于内核的高度和宽度。包含2个整数的元组表示第一个值用于高度,另一个值用于内核的宽度。
|
||||
- **mode** (int) - 指定不同的卷积模式。此值目前未被使用。默认值:1。
|
||||
- **pad_mode** (str) - 指定填充模式。取值为"same","valid",或"pad"。默认值:"valid"。
|
||||
|
||||
- **out_channel** (int) - :math:`C_{out}` 为输出通道数。
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 数据类型为int或一个包含2个int组成的元组。指定二维卷积核的高度和宽度。单个整数表示该值同时适用于内核的高度和宽度。包含2个整数的元组表示第一个值用于高度,另一个值用于内核的宽度。
|
||||
- **mode** (int) - 指定不同的卷积模式。此值目前未被使用。默认值:1。
|
||||
- **pad_mode** (str) - 指定填充模式。取值为"same","valid",或"pad"。默认值:"valid"。
|
||||
- **same**: 输出的高度和宽度分别与输入整除 `stride` 后的值相同。填充将被均匀地添加到高和宽的两侧,剩余填充量将被添加到维度末端。若设置该模式,`pad` 的值必须为0。
|
||||
- **valid**: 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `pad` 的值必须为0。
|
||||
- **pad**: 对输入 `x` 进行填充。在输入的高度和宽度方向上填充 `pad` 大小的0。如果设置此模式, `pad` 必须大于或等于0。
|
||||
|
||||
- **pad** (Union(int, tuple[int])) - 输入 `x` 的高度和宽度方向上填充的数量。数据类型为int或包含4个int组成的tuple。如果 `pad` 是一个int,那么上、下、左、右的填充都等于 `pad` 。如果 `pad` 是一个有4个int组成的tuple,那么上、下、左、右的填充分别等于 `pad[0]` 、 `pad[1]` 、 `pad[2]` 和 `pad[3]` 。值应该要大于等于0,默认值:0。
|
||||
- **stride** (Union(int, tuple[int])) - 卷积核移动的步长,数据类型为int或两个int组成的tuple。一个int表示在高度和宽度方向的移动步长均为该值。两个int组成的tuple分别表示在高度和宽度方向的移动步长。默认值:1。
|
||||
- **dilation** (Union(int, tuple[int])) - 卷积核膨胀尺寸。数据类型为int或由2个int组成的tuple。若 :math:`k > 1` ,则卷积核间隔 `k` 个元素进行采样。垂直和水平方向上的 `k` ,其取值范围分别为[1, H]和[1, W]。默认值:1。
|
||||
- **group** (int) - 将过滤器拆分为组。默认值:1。
|
||||
- **data_format** (str) - 数据格式的可选值有"NHWC","NCHW"。默认值:"NCHW"。
|
||||
|
||||
- **same**: 输出的高度和宽度分别与输入整除 `stride` 后的值相同。填充将被均匀地添加到高和宽的两侧,剩余填充量将被添加到维度末端。若设置该模式,`pad` 的值必须为0。
|
||||
- **valid**: 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `pad` 的值必须为0。
|
||||
- **pad**: 对输入 `x` 进行填充。在输入的高度和宽度方向上填充 `pad` 大小的0。如果设置此模式, `pad` 必须大于或等于0。
|
||||
|
||||
- **pad** (Union(int, tuple[int])) - 输入 `x` 的高度和宽度方向上填充的数量。数据类型为int或包含4个int组成的tuple。如果 `pad` 是一个int,那么上、下、左、右的填充都等于 `pad` 。如果 `pad` 是一个有4个int组成的tuple,那么上、下、左、右的填充分别等于 `pad[0]` 、 `pad[1]` 、 `pad[2]` 和 `pad[3]` 。值应该要大于等于0,默认值:0。
|
||||
- **stride** (Union(int, tuple[int])) - 卷积核移动的步长,数据类型为int或两个int组成的tuple。一个int表示在高度和宽度方向的移动步长均为该值。两个int组成的tuple分别表示在高度和宽度方向的移动步长。默认值:1。
|
||||
- **dilation** (Union(int, tuple[int])) - 卷积核膨胀尺寸。数据类型为int或由2个int组成的tuple。若 :math:`k > 1` ,则卷积核间隔 `k` 个元素进行采样。垂直和水平方向上的 `k` ,其取值范围分别为[1, H]和[1, W]。默认值:1。
|
||||
- **group** (int) - 将过滤器拆分为组。默认值:1。
|
||||
- **data_format** (str) - 数据格式的可选值有"NHWC","NCHW"。默认值:"NCHW"。
|
||||
输入:
|
||||
- **x** (Tensor) - shape为 :math:`(N, C_{in}, H_{in}, W_{in})` 的Tensor。
|
||||
- **weight** (Tensor) - 设置卷积核的大小为 :math:`(\text{kernel_size[0]}, \text{kernel_size[1]})` ,则shape为 :math:`(C_{out}, C_{in}, \text{kernel_size[0]}, \text{kernel_size[1]})` 。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,卷积后的值。shape为 :math:`(N, C_{out}, H_{out}, W_{out})` 。
|
||||
|
||||
- **x** (Tensor) - shape为 :math:`(N, C_{in}, H_{in}, W_{in})` 的Tensor。
|
||||
- **weight** (Tensor) - 设置卷积核的大小为 :math:`(\text{kernel_size[0]}, \text{kernel_size[1]})` ,则shape为 :math:`(C_{out}, C_{in}, \text{kernel_size[0]}, \text{kernel_size[1]})` 。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,卷积后的值。shape为 :math:`(N, C_{out}, H_{out}, W_{out})` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `kernel_size` 、 `stride` 、 `pad` 或 `dilation` 既不是int也不是tuple。
|
||||
- **TypeError** - `out_channel` 或 `group` 不是int。
|
||||
- **ValueError** - `kernel_size` 、 `stride` 或 `diation` 小于1。
|
||||
- **ValueError** - `pad_mode` 不是"same"、"valid"或"pad"。
|
||||
- **ValueError** - `pad` 是一个长度不等于4的tuple。
|
||||
- **ValueError** - `pad_mode` 不等于"pad",`pad` 不等于(0, 0, 0, 0)。
|
||||
- **ValueError** - `data_format` 既不是"NCHW",也不是"NHWC"。
|
||||
异常:
|
||||
- **TypeError** - `kernel_size` 、 `stride` 、 `pad` 或 `dilation` 既不是int也不是tuple。
|
||||
- **TypeError** - `out_channel` 或 `group` 不是int。
|
||||
- **ValueError** - `kernel_size` 、 `stride` 或 `diation` 小于1。
|
||||
- **ValueError** - `pad_mode` 不是"same"、"valid"或"pad"。
|
||||
- **ValueError** - `pad` 是一个长度不等于4的tuple。
|
||||
- **ValueError** - `pad_mode` 不等于"pad",`pad` 不等于(0, 0, 0, 0)。
|
||||
- **ValueError** - `data_format` 既不是"NCHW",也不是"NHWC"。
|
||||
|
|
|
@ -24,44 +24,40 @@ mindspore.ops.Conv3D
|
|||
:math:`dilation` 为三维卷积核膨胀尺寸, :math:`stride` 为移动步长,
|
||||
:math:`padding` 为在输入两侧的填充长度。
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **out_channel** (int) - 输出的通道数 :math:`C_{out}` 。
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 指定三维卷积核的深度、高度和宽度。数据类型为int或包含三个整数的Tuple。一个整数表示卷积核的深度、高度和宽度均为该值。包含三个整数的Tuple分别表示卷积核的深度、高度和宽度。
|
||||
- **mode** (int) - 指定不同的卷积模式。此值目前未被使用。默认值: 1。
|
||||
- **stride** (Union[int, tuple[int]]) - 当 `stride` 为int时表示在深度、高度和宽度方向的移动步长均为该值。当 `stride` 为三个int值所组成的Tuple时,三个int值分别表示在深度、高度和宽度方向的移动步长。默认值:1。
|
||||
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"valid"。
|
||||
|
||||
- **out_channel** (int) - 输出的通道数 :math:`C_{out}` 。
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 指定三维卷积核的深度、高度和宽度。数据类型为int或包含三个整数的Tuple。一个整数表示卷积核的深度、高度和宽度均为该值。包含三个整数的Tuple分别表示卷积核的深度、高度和宽度。
|
||||
- **mode** (int) - 指定不同的卷积模式。此值目前未被使用。默认值: 1。
|
||||
- **stride** (Union[int, tuple[int]]) - 当 `stride` 为int时表示在深度、高度和宽度方向的移动步长均为该值。当 `stride` 为三个int值所组成的Tuple时,三个int值分别表示在深度、高度和宽度方向的移动步长。默认值:1。
|
||||
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"valid"。
|
||||
- same: 输出的深度、高度和宽度分别与对应输入整除 `stride` 后的值相同。
|
||||
填充将被均匀地添加到高和宽的两侧,剩余填充量将被添加到维度末端。
|
||||
若设置该模式, `pad` 的值必须为0。
|
||||
|
||||
- same: 输出的深度、高度和宽度分别与对应输入整除 `stride` 后的值相同。
|
||||
填充将被均匀地添加到高和宽的两侧,剩余填充量将被添加到维度末端。
|
||||
若设置该模式, `pad` 的值必须为0。
|
||||
- valid: 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `pad` 的值必须为0。
|
||||
|
||||
- valid: 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `pad` 的值必须为0。
|
||||
- pad: 在输入深度、高度和宽度各维度两侧添加 `pad` 数量的填充。如果设置此模式, `pad` 的值必须大于或等于0。
|
||||
|
||||
- pad: 在输入深度、高度和宽度各维度两侧添加 `pad` 数量的填充。如果设置此模式, `pad` 的值必须大于或等于0。
|
||||
- **pad** (Union(int, tuple[int])) - 在输入各维度两侧的填充长度。如果 `pad` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `pad` 。如果 `pad` 是6个整数的Tuple,则前部、后部、顶部、底部、左边和右边的填充分别等于填充 `pad[0]` 、 `pad[1]` 、 `pad[2]` 、 `pad[3]` 、 `pad[4]` 和 `pad[5]` 。默认值:0。
|
||||
- **dilation** (Union[int, tuple[int]]) - 三维卷积核膨胀尺寸。数据类型为int或三个整数的Tuple :math:`(dilation_d, dilation_h, dilation_w)` 。目前在深度维度仅支持取值为1。若 :math:`k > 1` ,则kernel间隔 `k` 个元素取样。取值大于等于1且小于对应的高度或宽度大小。默认值: 1。
|
||||
- **group** (int) - 将过滤器拆分为组, `in_channels` 和 `out_channels` 必须可被 `group` 整除。默认值: 1。目前仅支持取值为1。
|
||||
- **data_format** (str) - 支持的数据模式。目前仅支持"NCDHW"。
|
||||
|
||||
- **pad** (Union(int, tuple[int])) - 在输入各维度两侧的填充长度。如果 `pad` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `pad` 。如果 `pad` 是6个整数的Tuple,则前部、后部、顶部、底部、左边和右边的填充分别等于填充 `pad[0]` 、 `pad[1]` 、 `pad[2]` 、 `pad[3]` 、 `pad[4]` 和 `pad[5]` 。默认值:0。
|
||||
- **dilation** (Union[int, tuple[int]]) - 三维卷积核膨胀尺寸。数据类型为int或三个整数的Tuple :math:`(dilation_d, dilation_h, dilation_w)` 。目前在深度维度仅支持取值为1。若 :math:`k > 1` ,则kernel间隔 `k` 个元素取样。取值大于等于1且小于对应的高度或宽度大小。默认值: 1。
|
||||
- **group** (int) - 将过滤器拆分为组, `in_channels` 和 `out_channels` 必须可被 `group` 整除。默认值: 1。目前仅支持取值为1。
|
||||
- **data_format** (str) - 支持的数据模式。目前仅支持"NCDHW"。
|
||||
输入:
|
||||
- **x** (Tensor) - shape为 :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。目前数据类型仅支持float16和float32。
|
||||
- **weight** (Tensor) - 若kernel shape为 :math:`(k_d, K_h, K_w)` ,则weight shape应为 :math:`(C_{out}, C_{in}/groups, k_d, K_h, K_w)` 。目前数据类型仅支持float16和float32。
|
||||
- **bias** (Tensor) - shape为 :math:`C_{in}` 的Tensor。目前仅支持None。默认值:None。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,shape为 :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。
|
||||
- **weight** (Tensor) - 若kernel shape为 :math:`(k_d, K_h, K_w)` ,则weight shape应为 :math:`(C_{out}, C_{in}/groups, k_d, K_h, K_w)` 。目前数据类型仅支持float16和float32。
|
||||
- **bias** (Tensor) - shape为 :math:`C_{in}` 的Tensor。目前仅支持None。默认值:None。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape为 :math:`(N, C_{out}, D_{out}, H_{out}, W_{out})` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `out_channel` 或 `group` 不是int。
|
||||
- **TypeError** - `kernel_size` 、 `stride` 、 `pad` 或 `dilation` 既不是int也不是Tuple。
|
||||
- **ValueError** - `out_channel` 、 `kernel_size` 、 `stride` 或 `dilation` 小于1。
|
||||
- **ValueError** - `pad` 小于0。
|
||||
- **ValueError** - `pad_mode` 取值非"same"、"valid"或"pad"。
|
||||
- **ValueError** - `pad` 为长度不等于6的Tuple。
|
||||
- **ValueError** - `pad_mode` 未设定为"pad"且 `pad` 不等于(0, 0, 0, 0, 0, 0)。
|
||||
- **ValueError** - `data_format` 取值非"NCDHW"。
|
||||
异常:
|
||||
- **TypeError** - `out_channel` 或 `group` 不是int。
|
||||
- **TypeError** - `kernel_size` 、 `stride` 、 `pad` 或 `dilation` 既不是int也不是Tuple。
|
||||
- **ValueError** - `out_channel` 、 `kernel_size` 、 `stride` 或 `dilation` 小于1。
|
||||
- **ValueError** - `pad` 小于0。
|
||||
- **ValueError** - `pad_mode` 取值非"same"、"valid"或"pad"。
|
||||
- **ValueError** - `pad` 为长度不等于6的Tuple。
|
||||
- **ValueError** - `pad_mode` 未设定为"pad"且 `pad` 不等于(0, 0, 0, 0, 0, 0)。
|
||||
- **ValueError** - `data_format` 取值非"NCDHW"。
|
||||
|
|
|
@ -19,48 +19,44 @@ mindspore.ops.Conv3DTranspose
|
|||
W_{out} = (W_{in} - 1) \times \text{stride}[2] - 2 \times \text{pad}[2] + \text{dilation}[2]
|
||||
\times (\text{kernel_size}[2] - 1) + \text{output_padding}[2] + 1
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **in_channel** (int) - 输入 `dout` 的通道数。
|
||||
- **out_channel** (int) - 输入 `weight` 的通道数。
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 指定三维卷积核的深度、高度和宽度。数据类型为int或包含三个int值的Tuple。为int时表示卷积核的深度、高度和宽度均为该值。包含三个int值的Tuple分别表示卷积核的深度、高度和宽度。
|
||||
- **mode** (int) - 指定不同的卷积模式。此值目前未被使用。默认值:1。
|
||||
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"valid"。
|
||||
|
||||
- **in_channel** (int) - 输入 `dout` 的通道数。
|
||||
- **out_channel** (int) - 输入 `weight` 的通道数。
|
||||
- **kernel_size** (Union[int, tuple[int]]) - 指定三维卷积核的深度、高度和宽度。数据类型为int或包含三个int值的Tuple。为int时表示卷积核的深度、高度和宽度均为该值。包含三个int值的Tuple分别表示卷积核的深度、高度和宽度。
|
||||
- **mode** (int) - 指定不同的卷积模式。此值目前未被使用。默认值: 1。
|
||||
- **pad_mode** (str) - 指定填充模式。可选值为"same"、"valid"、"pad"。默认值: "valid"。
|
||||
- same: 填充输入。输出的深度、高度和宽度分别与对应输入整除 `stride` 后的值相同。
|
||||
同一维度的padding将被尽可能均匀填充在两侧,额外的padding将被填充在维度末端。
|
||||
若设置该模式,`pad` 的值必须为0。
|
||||
|
||||
- same: 填充输入。输出的深度、高度和宽度分别与对应输入整除 `stride` 后的值相同。
|
||||
同一维度的padding将被尽可能均匀填充在两侧,额外的padding将被填充在维度末端。
|
||||
若设置该模式,`pad` 的值必须为0。
|
||||
- valid: 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `pad` 的值必须为0。
|
||||
|
||||
- valid: 在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `pad` 的值必须为0。
|
||||
- pad: 在输入深度、高度和宽度各维度两侧添加 `pad` 数量的填充。如果设置此模式, `pad` 的值必须大于或等于0。
|
||||
|
||||
- **pad** (Union(int, tuple[int])) - 在输入各维度两侧填充的数量。如果 `pad` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `pad` 。如果 `pad` 是6个整数的Tuple,则前部、后部、顶部、底部、左边和右边的填充分别等于填充 `pad[0]` 、 `pad[1]` 、 `pad[2]` 、 `pad[3]` 、 `pad[4]` 和 `pad[5]` 。默认值:0。
|
||||
- **stride** (Union(int, tuple[int])) - 三维卷积核的移动步长。数据类型为整型或三个整型的Tuple。一个整数表示在深度、高度和宽度方向的移动步长均为该值。三个整数的Tuple分别表示在深度、高度和宽度方向的移动步长。默认值:1。
|
||||
- **dilation** (Union(int, tuple[int])) - 卷积核膨胀尺寸,指定应用卷积核的间隔。默认值: 1。
|
||||
- **group** (int) - 将过滤器拆分为组。默认值: 1。目前仅支持取值1。
|
||||
- **output_padding** (Union(int, tuple[int])) - 为输出的各个维度添加额外长度。默认值:0。
|
||||
- **data_format** (str) - 支持的数据模式。目前仅支持"NCDHW"。
|
||||
|
||||
- pad: 在输入深度、高度和宽度各维度两侧添加 `pad` 数量的填充。如果设置此模式, `pad` 的值必须大于或等于0。
|
||||
|
||||
- **pad** (Union(int, tuple[int])) - 在输入各维度两侧填充的数量。如果 `pad` 是一个整数,则前部、后部、顶部,底部,左边和右边的填充都等于 `pad` 。如果 `pad` 是6个整数的Tuple,则前部、后部、顶部、底部、左边和右边的填充分别等于填充 `pad[0]` 、 `pad[1]` 、 `pad[2]` 、 `pad[3]` 、 `pad[4]` 和 `pad[5]` 。默认值:0。
|
||||
- **stride** (Union(int, tuple[int])) - 三维卷积核的移动步长。数据类型为整型或三个整型的Tuple。一个整数表示在深度、高度和宽度方向的移动步长均为该值。三个整数的Tuple分别表示在深度、高度和宽度方向的移动步长。默认值:1。
|
||||
- **dilation** (Union(int, tuple[int])) - 卷积核膨胀尺寸,指定应用卷积核的间隔。默认值: 1。
|
||||
- **group** (int) - 将过滤器拆分为组。默认值: 1。目前仅支持取值1。
|
||||
- **output_padding** (Union(int, tuple[int])) - 为输出的各个维度添加额外长度。默认值: 0。
|
||||
- **data_format** (str) - 支持的数据模式。目前仅支持"NCDHW"。
|
||||
输入:
|
||||
- **dout** (Tensor) - 卷积操作的输出的梯度Tensor。shape: :math:`(N, C_{in}, D_{out}, H_{out}, W_{out})` 。目前数据类型仅支持float16和float32。
|
||||
- **weight** (Tensor) - 若kernel shape为 :math:`(K_d, K_h, K_w)` ,则weight shape应为 :math:`(C_{in}, C_{out}//group, K_d, K_h, K_w)` ,其中 :math:`group` 为算子参数。:math:`//` 为整数除法操作。目前数据类型仅支持float16和float32。
|
||||
- **bias** (Tensor) - shape为 :math:`C_{out}` 的Tensor。目前仅支持None。默认值:None。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
卷积操作的输入的梯度Tensor,shape: :math:`(N, C_{out}//group, D_{out}, H_{out}, W_{out})` ,其中 :math:`group` 为算子参数。
|
||||
|
||||
- **dout** (Tensor) - 卷积操作的输出的梯度Tensor。shape: :math:`(N, C_{in}, D_{out}, H_{out}, W_{out})` 。目前数据类型仅支持float16和float32。
|
||||
- **weight** (Tensor) - 若kernel shape为 :math:`(K_d, K_h, K_w)` ,则weight shape应为 :math:`(C_{in}, C_{out}//group, K_d, K_h, K_w)` ,其中 :math:`group` 为算子参数。:math:`//` 为整数除法操作。目前数据类型仅支持float16和float32。
|
||||
- **bias** (Tensor) - shape为 :math:`C_{out}` 的Tensor。目前仅支持None。默认值:None。
|
||||
|
||||
**输出:**
|
||||
|
||||
卷积操作的输入的梯度Tensor,shape: :math:`(N, C_{out}//group, D_{out}, H_{out}, W_{out})` ,其中 :math:`group` 为算子参数。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `in_channel` 、 `out_channel` 或 `group` 不是int。
|
||||
- **TypeError** - `kernel_size` 、 `stride` 、 `pad` 、 `dilation` 或 `output_padding` 既不是int也不是Tuple。
|
||||
- **ValueError** - `in_channel` 、 `out_channel` 、 `kernel_size` 、 `stride` 或 `dilation` 小于1。
|
||||
- **ValueError** - `pad` 小于0。
|
||||
- **ValueError** - `pad_mode` 取值非"same"、"valid"或"pad"。
|
||||
- **ValueError** - `pad` 为长度不等于6的Tuple。
|
||||
- **ValueError** - `pad_mode` 未设定为"pad"且 `pad` 不等于(0, 0, 0, 0, 0, 0)。
|
||||
- **ValueError** - `data_format` 取值非"NCDHW"。
|
||||
- **TypeError** - `dout` 或 `weight` 的数据类型不是float16。
|
||||
- **ValueError** - `bias` 不为None。 `dout` 或 `weight` 的秩不为5。
|
||||
异常:
|
||||
- **TypeError** - `in_channel` 、 `out_channel` 或 `group` 不是int。
|
||||
- **TypeError** - `kernel_size` 、 `stride` 、 `pad` 、 `dilation` 或 `output_padding` 既不是int也不是Tuple。
|
||||
- **ValueError** - `in_channel` 、 `out_channel` 、 `kernel_size` 、 `stride` 或 `dilation` 小于1。
|
||||
- **ValueError** - `pad` 小于0。
|
||||
- **ValueError** - `pad_mode` 取值非"same"、"valid"或"pad"。
|
||||
- **ValueError** - `pad` 为长度不等于6的Tuple。
|
||||
- **ValueError** - `pad_mode` 未设定为"pad"且 `pad` 不等于(0, 0, 0, 0, 0, 0)。
|
||||
- **ValueError** - `data_format` 取值非"NCDHW"。
|
||||
- **TypeError** - `dout` 或 `weight` 的数据类型不是float16。
|
||||
- **ValueError** - `bias` 不为None。 `dout` 或 `weight` 的秩不为5。
|
||||
|
|
|
@ -10,22 +10,18 @@ mindspore.ops.CumProd
|
|||
.. math::
|
||||
y_i = x_1 * x_2 * x_3 * ... * x_i
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **exclusive** (bool) - 如果为True,则排除末尾元素计算元素累计积(见示例)。默认值: False。
|
||||
- **reverse** (bool) - 如果为True,则沿 `axis` 反转结果。默认值: False。
|
||||
|
||||
- **exclusive** (bool) - 如果为True,则排除末尾元素计算元素累计积(见示例)。默认值: False。
|
||||
- **reverse** (bool) - 如果为True,则沿 `axis` 反转结果。默认值: False。
|
||||
输入:
|
||||
- **x** (Tensor[Number]) - 输入Tensor,shape: :math:`(N,*)` ,其中 :math:`*` 表示任何数量的附加维度。其秩应小于8。
|
||||
- **axis** (int) - 沿此方向计算累计积。仅支持常量值。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor,shape和数据类型与 `x` 相同。
|
||||
|
||||
- **x** (Tensor[Number]) - 输入Tensor,shape: :math:`(N,*)` ,其中 :math:`*` 表示任何数量的附加维度。其秩应小于8。
|
||||
- **axis** (int) - 沿此方向计算累计积。仅支持常量值。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape和数据类型与 `x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `exclusive` 或 `reverse` 不是bool类型。
|
||||
- **TypeError** - `axis` 不是int。
|
||||
- **ValueError** - `axis` 不是None。
|
||||
异常:
|
||||
- **TypeError** - `exclusive` 或 `reverse` 不是bool类型。
|
||||
- **TypeError** - `axis` 不是int。
|
||||
- **ValueError** - `axis` 不是None。
|
||||
|
|
|
@ -8,21 +8,17 @@
|
|||
.. math::
|
||||
y_i = x_1 + x_2 + x_3 + ...+ x_i
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **exclusive** (bool) - 表示输出结果的第一个元素是否与输入的第一个元素一致。如果为False,表示输出的第一个元素与输入的第一个元素一致。默认值:False。
|
||||
- **reverse** (bool) - 如果为True,则逆向计算累加和。默认值:False。
|
||||
|
||||
- **exclusive** (bool) - 表示输出结果的第一个元素是否与输入的第一个元素一致。如果为False,表示输出的第一个元素与输入的第一个元素一致。默认值:False。
|
||||
- **reverse** (bool) - 如果为True,则逆向计算累加和。默认值:False。
|
||||
输入:
|
||||
- **input** (Tensor) - 输入要计算的Tensor。
|
||||
- **axis** (int) - 指定要累加和的轴。仅支持常量值。该值在[-rank(input), rank(input))范围中。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor。输出Tensor的shape与输入Tensor的shape一致。
|
||||
|
||||
- **input** (Tensor) - 输入要计算的Tensor。
|
||||
- **axis** (int) - 指定要累加和的轴。仅支持常量值。该值在[-rank(input), rank(input))范围中。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor。输出Tensor的shape与输入Tensor的shape一致。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `exclusive` 或 `reverse` 不是bool。
|
||||
- **TypeError** - `axis` 不是int。
|
||||
异常:
|
||||
- **TypeError** - `exclusive` 或 `reverse` 不是bool。
|
||||
- **TypeError** - `axis` 不是int。
|
|
@ -21,25 +21,21 @@ mindspore.ops.Custom
|
|||
- "julia": ["CPU"].
|
||||
- "aicpu": ["Ascend"].
|
||||
|
||||
**参数:**
|
||||
参数:
|
||||
- **func** (Union[function, str]) - 自定义算子的函数表达。
|
||||
- **out_shape** (Union[function, list, tuple]) - 自定义算子的输入的形状或者输出形状的推导函数。默认值:None。
|
||||
- **out_dtype** (Union[function, :class:`mindspore.dtype`, tuple[:class:`mindspore.dtype`]]) - 自定义算子的输入的数据类型或者输出数据类型的推导函数。默认值:None。
|
||||
- **func_type** (str) - 自定义算子的函数类型,必须是["hybrid", "akg", "tbe", "aot", "pyfunc", "julia", "aicpu"]中之一。默认值:"hybrid"。
|
||||
- **bprop** (function) - 自定义算子的反向函数。默认值:None。
|
||||
- **reg_info** (Union[str, dict, list, tuple]) - 自定义算子的算子注册信息。默认值:None。
|
||||
|
||||
- **func** (Union[function, str]) - 自定义算子的函数表达。
|
||||
- **out_shape** (Union[function, list, tuple]) - 自定义算子的输入的形状或者输出形状的推导函数。默认值:None。
|
||||
- **out_dtype** (Union[function, :class:`mindspore.dtype`, tuple[:class:`mindspore.dtype`]]) - 自定义算子的输入的数据类型或者输出数据类型的推导函数。默认值:None。
|
||||
- **func_type** (str) - 自定义算子的函数类型,必须是["hybrid", "akg", "tbe", "aot", "pyfunc", "julia", "aicpu"]中之一。默认值:"hybrid"。
|
||||
- **bprop** (function) - 自定义算子的反向函数。默认值:None。
|
||||
- **reg_info** (Union[str, dict, list, tuple]) - 自定义算子的算子注册信息。默认值:None。
|
||||
输入:
|
||||
- **input** (Union(tuple, list)) - 输入要计算的Tensor。
|
||||
|
||||
**输入:**
|
||||
输出:
|
||||
Tensor。自定义算子的计算结果。
|
||||
|
||||
- **input** (Union(tuple, list)) - 输入要计算的Tensor。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor。自定义算子的计算结果。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - 如果输入 `func` 不合法,或者 `func` 对应的注册信息类型不对。
|
||||
- **ValueError** - `func_type` 的值不在列表内。
|
||||
- **ValueError** - 算子注册信息不合法,包括支持平台不匹配,算子输入和属性与函数不匹配。
|
||||
异常:
|
||||
- **TypeError** - 如果输入 `func` 不合法,或者 `func` 对应的注册信息类型不对。
|
||||
- **ValueError** - `func_type` 的值不在列表内。
|
||||
- **ValueError** - 算子注册信息不合法,包括支持平台不匹配,算子输入和属性与函数不匹配。
|
|
@ -5,9 +5,8 @@ mindspore.ops.constexpr
|
|||
|
||||
创建PrimiveWithInfer算子,用于在编译时推断值。可以用它定义函数,从而使用构造函数中的常量计算出常量值。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **fn** (function) - `fn` 用作输出算子的infer_value。默认值:None。
|
||||
- **get_instance** (bool) - 如果为True,返回算子的实例,否则返回算子的类。默认值:True。
|
||||
- **name** (str) - 定义算子的名称。如果 `name` 为None,则使用函数名称作为算子名称。默认值:None。
|
||||
- **reuse_result** (bool) - 如果为True,仅实际执行算子一次,后续调用会直接返回结果。否则每次都实际执行算子来获取结果。默认值:True。
|
||||
参数:
|
||||
- **fn** (function) - `fn` 用作输出算子的infer_value。默认值:None。
|
||||
- **get_instance** (bool) - 如果为True,返回算子的实例,否则返回算子的类。默认值:True。
|
||||
- **name** (str) - 定义算子的名称。如果 `name` 为None,则使用函数名称作为算子名称。默认值:None。
|
||||
- **reuse_result** (bool) - 如果为True,仅实际执行算子一次,后续调用会直接返回结果。否则每次都实际执行算子来获取结果。默认值:True。
|
Loading…
Reference in New Issue