mindspore/docs/api/api_python/ops/mindspore.ops.ApplyFtrl.rst

38 lines
2.7 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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

mindspore.ops.ApplyFtrl
=========================
.. py:class:: mindspore.ops.ApplyFtrl(use_locking=False)
根据FTRL算法更新相关参数或者Tensor。
更多详细信息请参见 :class:`mindspore.nn.FTRL`
.. note::
- 当前在Ascend平台上仅支持正数其余场景计算结果未定义。
- `var``accum``linear``grad` 的输入符合隐式类型转换规则,使数据类型一致。如果它们具有不同的数据类型,则低精度数据类型将转换为相对最高精度的数据类型。
参数:
- **use_locking** (bool) - 是否对参数更新加锁保护。默认值: ``False``
输入:
- **var** (Union[Parameter, Tensor]) - 要更新的权重或者Tensor。数据类型必须为float16或float32。shape :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度。
- **accum** (Union[Parameter, Tensor]) - 要更新的累积shape必须与 `var` 相同。
- **linear** (Union[Parameter, Tensor]) - 要更新的线性系数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** - 如果 `var``accum``linear` 参数类型不一致。
- **TypeError** - 如果 `grad``lr``l1``l2``lr_power` 的参数类型与 `var` 不一致且精度大于 `var`