文件最后提交记录最后更新时间
2 个月前
2 个月前
2 个月前
2 个月前
2 个月前
2 个月前
2 个月前
2 个月前
README

LambApplyOptimizerAssign

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT

功能说明

  • 算子功能:对模型中的一个参数完成LAMB优化器的Adam矩更新与偏差校正后的update计算(含可选权重衰减),并原地更新一阶矩inputm与二阶矩inputv。

  • 计算公式:

next_v=inputv×mul2_x+grad2×mul3_xnext\_v = inputv \times mul2\_x + grad^2 \times mul3\_x

next_m=inputm×mul0_x+grad×mul1_xnext\_m = inputm \times mul0\_x + grad \times mul1\_x

output0=next_m/(1−mul0_xsteps)next_v/(1−mul2_xsteps)+add2_y+input3×weight_decay_rate×do_use_weightoutput0 = \frac{next\_m / (1 - mul0\_x^{steps})}{\sqrt{next\_v / (1 - mul2\_x^{steps})} + add2\_y} + input3 \times weight\_decay\_rate \times do\_use\_weight

参数说明

参数名输入/输出描述数据类型数据格式
grad输入公式中的grad。FLOAT16、FLOATND
inputv输入公式中的inputv。FLOAT16、FLOATND
inputm输入公式中的inputm。FLOAT16、FLOATND
input3输入公式中的input3。FLOAT16、FLOATND
mul0_x输入公式中的mul0_x。FLOAT16、FLOATND
mul1_x输入公式中的mul1_x。FLOAT16、FLOATND
mul2_x输入公式中的mul2_x。FLOAT16、FLOATND
mul3_x输入公式中的mul3_x。FLOAT16、FLOATND
add2_y输入公式中的add2_y。FLOAT16、FLOATND
steps输入公式中的steps。FLOAT16、FLOATND
do_use_weight输入公式中的do_use_weight。FLOAT16、FLOATND
weight_decay_rate输入公式中的weight_decay_rate。FLOAT16、FLOATND
output0输出公式中的output0。FLOAT16、FLOATND
inputv输出公式中的inputv。FLOAT16、FLOATND
inputm输出公式中的inputm。FLOAT16、FLOATND

约束说明

调用说明

调用方式 调用样例 说明
图模式调用 test_geir_lamb_apply_optimizer_assign 通过算子IR构图方式调用LambApplyOptimizerAssign算子。