2022-05-21 11:30:27 +08:00
mindspore.ops.ApplyAdagradDA
=============================
.. py:class :: mindspore.ops.ApplyAdagradDA(use_locking=False)
<20> <> <EFBFBD> <EFBFBD> Adagrad<61> 㷨<EFBFBD> <E3B7A8> <EFBFBD> <EFBFBD> `var` <20> <>
Adagrad<61> 㷨<EFBFBD> <E3B7A8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `Adaptive Subgradient Methods for Online Learning and Stochastic Optimization <http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf> `_ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.. math ::
\begin{array}{ll} \\
grad\_accum += grad \\
grad\_squared\_accum += grad * grad \\
tmp\_val=
\begin{cases}
sign(grad\_accum) * max\left \{|grad\_accum|-l1* global\_step, 0\right \} & \text{ if } l1>0 \\
grad\_accum & \text{ otherwise } \\
\end{cases} \\
x\_value = -1 * lr * tmp\_val \\
y\_value = l2 * global\_step * lr + \sqrt{grad\_squared\_accum} \\
var = \frac{ x\_value }{ y\_value }
\end{array}
`var` <20> <> `gradient_accumulator` <20> <> `gradient_squared_accumulator` <20> <> `grad` <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѭ<EFBFBD> <D1AD> ʽ <EFBFBD> <CABD> <EFBFBD> <EFBFBD> ת<EFBFBD> <D7AA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> ¡<EFBFBD>
<20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǿ<EFBFBD> <C7BE> в<EFBFBD> ͬ<EFBFBD> <CDAC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͣ<EFBFBD> <CDA3> <EFBFBD> <EFBFBD> ϵ; <CFB5> <CDBE> ȵ<EFBFBD> <C8B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͽ<EFBFBD> ת<EFBFBD> <D7AA> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߾<EFBFBD> <DFBE> ȵ<EFBFBD> <C8B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͡<EFBFBD>
2022-07-22 14:07:38 +08:00
<20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- **use_locking** (bool) - <20> <> <EFBFBD> <EFBFBD> ΪTrue<75> <65> `var` <20> <> `gradient_accumulator` <20> ĸ<EFBFBD> <C4B8> ½<EFBFBD> <C2BD> ܵ<EFBFBD> <DCB5> <EFBFBD> <EFBFBD> ı <EFBFBD> <C4B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ΪΪδ<CEAA> <CEB4> <EFBFBD> 壬<EFBFBD> ܿ<EFBFBD> <DCBF> ܳ<EFBFBD> <DCB3> ֽ<EFBFBD> <D6BD> ٵij<D9B5> ͻ<EFBFBD> <CDBB> Ĭ<EFBFBD> <C4AC> ֵΪFalse<73> <65>
<20> <> <EFBFBD> 룺
- **var** (Parameter) - Ҫ<> <D2AA> <EFBFBD> µı <C2B5> <C4B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͱ<EFBFBD> <CDB1> <EFBFBD> Ϊfloat16<31> <36> float32<33> <32> shape<70> <65> :math: `(N, *)` <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :math: `*` <20> <> ʾ <EFBFBD> <CABE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ĸ<EFBFBD> <C4B8> <EFBFBD> ά<EFBFBD> ȡ<EFBFBD>
- **gradient_accumulator** (Parameter) - Ҫ<> <D2AA> <EFBFBD> <EFBFBD> <EFBFBD> ۻ<EFBFBD> <DBBB> <EFBFBD> <EFBFBD> ݶȣ <DDB6> Ϊ<EFBFBD> <CEAA> ʽ <EFBFBD> е <EFBFBD> :math: `grad\_accum` <20> <> shape<70> <65> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͱ<EFBFBD> <CDB1> <EFBFBD> <EFBFBD> <EFBFBD> `var` <20> <> ͬ<EFBFBD> <CDAC>
- **gradient_squared_accumulator** (Parameter) - Ҫ<> <D2AA> <EFBFBD> µ<EFBFBD> ƽ <EFBFBD> <C6BD> <EFBFBD> ۻ<EFBFBD> <DBBB> <EFBFBD> <EFBFBD> ݶȣ <DDB6> Ϊ<> <CEAA> ʽ <EFBFBD> е <EFBFBD> :math: `grad\_squared\_accum` <20> <> shape<70> <65> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͱ<EFBFBD> <CDB1> <EFBFBD> <EFBFBD> <EFBFBD> `var` <20> <> ͬ<EFBFBD> <CDAC>
- **grad** (Tensor) - <20> ݶȣ <DDB6> Ϊһ <CEAA> <D2BB> Tensor<6F> <72> shape<70> <65> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͱ<EFBFBD> <CDB1> <EFBFBD> <EFBFBD> <EFBFBD> `var` <20> <> ͬ<EFBFBD> <CDAC>
- **lr** ([Number, Tensor]) - ѧϰ<D1A7> ʡ<EFBFBD> <CAA1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Scalar<61> <72> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊfloat32<33> <32> float16<31> <36>
- **l1** ([Number, Tensor]) - L1<4C> <31> <EFBFBD> <EFBFBD> <F2BBAFA1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Scalar<61> <72> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊfloat32<33> <32> float16<31> <36>
- **l2** ([Number, Tensor]) - L2<4C> <32> <EFBFBD> <EFBFBD> <F2BBAFA1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Scalar<61> <72> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊfloat32<33> <32> float16<31> <36>
- **global_step** ([Number, Tensor]) - ѵ <> <D1B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ı <EFBFBD> <C4B1> š<EFBFBD> <C5A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Scalar<61> <72> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊint32<33> <32> int64<36> <34>
<20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
3<> <33> Tensor<6F> <72> <EFBFBD> ɵ<EFBFBD> tuple<6C> <65> <EFBFBD> <EFBFBD> <EFBFBD> º<EFBFBD> <C2BA> IJ<EFBFBD> <C4B2> <EFBFBD> <EFBFBD> <EFBFBD>
- **var** (Tensor) - shape<70> <65> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `var` <20> <> ͬ<EFBFBD> <CDAC>
- **gradient_accumulator** (Tensor) - shape<70> <65> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `gradient_accumulator` <20> <> ͬ<EFBFBD> <CDAC>
- **gradient_squared_accumulator** (Tensor) - shape<70> <65> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `gradient_squared_accumulator` <20> <> ͬ<EFBFBD> <CDAC>
<20> 쳣<EFBFBD> <ECB3A3>
- **TypeError** - <20> <> <EFBFBD> <EFBFBD> `var` <20> <> `gradient_accumulator` <20> <> `gradient_squared_accumulator` <20> <> <EFBFBD> <EFBFBD> Parameter<65> <72>
- **TypeError** - <20> <> <EFBFBD> <EFBFBD> `grad` <20> <> <EFBFBD> <EFBFBD> Tensor<6F> <72>
- **TypeError** - <20> <> <EFBFBD> <EFBFBD> `lr` <20> <> `l1` <20> <> `l2` <20> <> <EFBFBD> <EFBFBD> `global_step` <20> Ȳ<EFBFBD> <C8B2> <EFBFBD> <EFBFBD> <EFBFBD> ֵ<EFBFBD> <D6B5> Ҳ<EFBFBD> <D2B2> <EFBFBD> <EFBFBD> Tensor<6F> <72>
- **TypeError** - <20> <> <EFBFBD> <EFBFBD> `use_locking` <20> <> <EFBFBD> <EFBFBD> bool<6F> <6C>
- **TypeError** - <20> <> <EFBFBD> <EFBFBD> `var` <20> <> `gradient_accumulator` <20> <> `gradient_squared_accumulator` <20> <> `grad` <20> <> `lr` <20> <> `l1` <20> <> `l2` <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͼȲ<CDBC> <C8B2> <EFBFBD> float16Ҳ<36> <D2B2> <EFBFBD> <EFBFBD> float32<33> <32>
- **TypeError** - <20> <> <EFBFBD> <EFBFBD> `gradient_accumulator` <20> <> `gradient_squared_accumulator` <20> <> `grad` <20> <> `var` <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͳ<EFBFBD> <CDB2> <EFBFBD> ͬ<EFBFBD> <CDAC>
- **TypeError** - <20> <> <EFBFBD> <EFBFBD> `global_step` <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͳ<EFBFBD> <CDB2> <EFBFBD> int32Ҳ<32> <D2B2> <EFBFBD> <EFBFBD> int64<36> <34>
- **ValueError** - <20> <> <EFBFBD> <EFBFBD> `lr` <20> <> `l1` <20> <> `l2` <20> <> `global_step` <20> <> shape<70> <65> С <EFBFBD> <D0A1> Ϊ0<CEAA> <30>
- **RuntimeError** - <20> <> <EFBFBD> <EFBFBD> `var` <20> <> `gradient_accumulator` <20> <> `gradient_squared_accumulator` <20> <> `grad` <20> <> ֧<EFBFBD> <D6A7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ת<EFBFBD> <D7AA> <EFBFBD> <EFBFBD>