Upload 3 files
Browse files- 2Gv37_AutoLR/emocats.py +4 -4
2Gv37_AutoLR/emocats.py
CHANGED
|
@@ -135,20 +135,20 @@ class EmoCats(Optimizer):
|
|
| 135 |
state['shadow'].lerp_(p, leap_ratio)
|
| 136 |
|
| 137 |
# --- Start Gradient Update Logic ---
|
| 138 |
-
# exp_avg
|
| 139 |
if 'exp_avg' not in state:
|
| 140 |
state['exp_avg'] = torch.zeros_like(p)
|
| 141 |
exp_avg = state['exp_avg']
|
| 142 |
|
| 143 |
-
#
|
| 144 |
-
p.mul_(1 -
|
| 145 |
beta1, beta2 = group['betas']
|
| 146 |
|
| 147 |
# 勾配ブレンド
|
| 148 |
blended_grad = grad.mul(1 - beta1).add(exp_avg, alpha=beta1)
|
| 149 |
|
| 150 |
# 最終的なパラメータ更新
|
| 151 |
-
p.add_(blended_grad.
|
| 152 |
exp_avg.mul_(beta2).add_(grad, alpha = 1 - beta2)
|
| 153 |
# --- End Gradient Update Logic ---
|
| 154 |
|
|
|
|
| 135 |
state['shadow'].lerp_(p, leap_ratio)
|
| 136 |
|
| 137 |
# --- Start Gradient Update Logic ---
|
| 138 |
+
# exp_avg初期化
|
| 139 |
if 'exp_avg' not in state:
|
| 140 |
state['exp_avg'] = torch.zeros_like(p)
|
| 141 |
exp_avg = state['exp_avg']
|
| 142 |
|
| 143 |
+
# Stepweight decay : decoupled_wd
|
| 144 |
+
p.mul_(1 - emoPulse * _wd_actual)
|
| 145 |
beta1, beta2 = group['betas']
|
| 146 |
|
| 147 |
# 勾配ブレンド
|
| 148 |
blended_grad = grad.mul(1 - beta1).add(exp_avg, alpha=beta1)
|
| 149 |
|
| 150 |
# 最終的なパラメータ更新
|
| 151 |
+
p.add_(blended_grad.sign(), alpha = -emoPulse)
|
| 152 |
exp_avg.mul_(beta2).add_(grad, alpha = 1 - beta2)
|
| 153 |
# --- End Gradient Update Logic ---
|
| 154 |
|