muooon commited on
Commit
714f46b
·
verified ·
1 Parent(s): 9fb0e2e

Upload 5 files

Browse files
2Gv38_AutoLR/emoairy.py CHANGED
@@ -32,6 +32,9 @@ class EmoAiry(Optimizer):
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
 
 
 
35
  if self.fftmode:
36
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
37
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
@@ -68,7 +71,7 @@ class EmoAiry(Optimizer):
68
  return math.tanh(diff_l)
69
 
70
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
71
- # しかし全機能は shadow なしで全て成立します/コード確認時はこの shadow を考慮外として無視してください
72
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
73
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
74
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
@@ -177,7 +180,7 @@ class EmoAiry(Optimizer):
177
  # FFT版と通常版を統合する分岐(デバイス状態判定)
178
  if p.device != grad.device:
179
  # FFTモード:デバイス間の計算を同じ場所へ統一
180
- update = update_term.to(p.device).sign_()
181
  else:
182
  # 通常モード:同じ場所の場合は負荷軽減
183
  update = update_term.sign_()
 
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
35
+ # use_shadow 緊急時モデル保護:通常 False (将来の特殊アーキテクチャへの保護機能)
36
+ # fftmode 学習モード切替え:通常 False (学習スケールをFFTとそれ以外で適正化)
37
+
38
  if self.fftmode:
39
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
40
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
 
71
  return math.tanh(diff_l)
72
 
73
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
74
+ # しかし全機能は shadow なしで全て成立します/通常VRAM負荷は shadow を考慮外として無視してください
75
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
76
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
77
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
 
180
  # FFT版と通常版を統合する分岐(デバイス状態判定)
181
  if p.device != grad.device:
182
  # FFTモード:デバイス間の計算を同じ場所へ統一
183
+ update = update_term.sign_().to(p.device)
184
  else:
185
  # 通常モード:同じ場所の場合は負荷軽減
186
  update = update_term.sign_()
2Gv38_AutoLR/emocats.py CHANGED
@@ -32,6 +32,9 @@ class EmoCats(Optimizer):
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
 
 
 
35
  if self.fftmode:
36
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
37
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
@@ -68,7 +71,7 @@ class EmoCats(Optimizer):
68
  return math.tanh(diff_l)
69
 
70
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
71
- # しかし全機能は shadow なしで全て成立します/コード確認時はこの shadow を考慮外として無視してください
72
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
73
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
74
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
@@ -153,9 +156,9 @@ class EmoCats(Optimizer):
153
  blended_grad = grad.to(exp_avg.device).mul(1 - beta1).add(exp_avg, alpha=beta1)
154
 
155
  # FFT版と通常版を統合する分岐(デバイス状態判定)
156
- if p.device != grad.device:
157
  # FFTモード:デバイス間の計算を同じ場所へ統一
158
- update = blended_grad.to(p.device).sign_()
159
  else:
160
  # 通常モード:同じ場所の場合は負荷軽減
161
  update = blended_grad.sign_()
 
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
35
+ # use_shadow 緊急時モデル保護:通常 False (将来の特殊アーキテクチャへの保護機能)
36
+ # fftmode 学習モード切替え:通常 False (学習スケールをFFTとそれ以外で適正化)
37
+
38
  if self.fftmode:
39
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
40
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
 
71
  return math.tanh(diff_l)
72
 
73
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
74
+ # しかし全機能は shadow なしで全て成立します/通常VRAM負荷は shadow を考慮外として無視してください
75
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
76
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
77
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
 
156
  blended_grad = grad.to(exp_avg.device).mul(1 - beta1).add(exp_avg, alpha=beta1)
157
 
158
  # FFT版と通常版を統合する分岐(デバイス状態判定)
159
+ if p.device != blended_grad.device:
160
  # FFTモード:デバイス間の計算を同じ場所へ統一
161
+ update = blended_grad.sign_().to(p.device)
162
  else:
163
  # 通常モード:同じ場所の場合は負荷軽減
164
  update = blended_grad.sign_()
2Gv38_AutoLR/emosens.py CHANGED
@@ -32,6 +32,9 @@ class EmoSens(Optimizer):
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
 
 
 
35
  if self.fftmode:
36
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
37
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
@@ -68,7 +71,7 @@ class EmoSens(Optimizer):
68
  return math.tanh(diff_l)
69
 
70
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
71
- # しかし全機能は shadow なしで全て成立します/コード確認時はこの shadow を考慮外として無視してください
72
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
73
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
74
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
@@ -155,7 +158,7 @@ class EmoSens(Optimizer):
155
  denom = exp_avg_sq.sqrt().add_(group['eps'])
156
 
157
  # FFT版と通常版を統合する分岐(デバイス状態判定)
158
- if p.device != grad.device:
159
  # FFTモード:デバイス間の計算を同じ場所へ統一
160
  update = exp_avg.to(p.device)
161
  else:
 
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
35
+ # use_shadow 緊急時モデル保護:通常 False (将来の特殊アーキテクチャへの保護機能)
36
+ # fftmode 学習モード切替え:通常 False (学習スケールをFFTとそれ以外で適正化)
37
+
38
  if self.fftmode:
39
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
40
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
 
71
  return math.tanh(diff_l)
72
 
73
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
74
+ # しかし全機能は shadow なしで全て成立します/通常VRAM負荷は shadow を考慮外として無視してください
75
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
76
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
77
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
 
158
  denom = exp_avg_sq.sqrt().add_(group['eps'])
159
 
160
  # FFT版と通常版を統合する分岐(デバイス状態判定)
161
+ if p.device != exp_avg.device:
162
  # FFTモード:デバイス間の計算を同じ場所へ統一
163
  update = exp_avg.to(p.device)
164
  else:
2Gv38_AutoLR/emotion.py CHANGED
@@ -32,6 +32,9 @@ class EmoTion(Optimizer):
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
 
 
 
35
  if self.fftmode:
36
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
37
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
@@ -68,7 +71,7 @@ class EmoTion(Optimizer):
68
  return math.tanh(diff_l)
69
 
70
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
71
- # しかし全機能は shadow なしで全て成立します/コード確認時はこの shadow を考慮外として無視してください
72
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
73
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
74
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
@@ -118,7 +121,7 @@ class EmoTion(Optimizer):
118
 
119
  # --- Start Approx W-Ref Geometry [Tion] 近似アシスト ---
120
  # Weight Reference Geometry ("W"eight and "G"radient Method)
121
- # 中間テンソルによるVRAM負荷やcos類似度測定の計算負荷を実質0にする
122
  with torch.no_grad():
123
  # 現在の全パラメータのL1ノルムを一括計算(計算負荷: 低)
124
  # foreach_norm は各層のノルムをリストで返す。sumで1つの数値に集約。
@@ -129,8 +132,8 @@ class EmoTion(Optimizer):
129
  if prev is not None:
130
  # 前回のエネルギーを維持するための比率(スライス的な全層一律係数)
131
  gratio = (abs(point_gl1 - prev) / (prev + 1e-8)).item()
132
- # freshness: 全域の動きが激しいほど 1.0 に近づく
133
- self.g_freshness = min(gratio / 0.05, 1.0)
134
  # 現在の修正したノルムを復元(近似)スケール調整で打ち消し
135
  point_gl1 *= gratio
136
  else:
@@ -174,16 +177,18 @@ class EmoTion(Optimizer):
174
 
175
  # exp_avg = beta1 * exp_avg + (1 - beta1) * grad の「幾何学的拡張」
176
  # 慣性と現時点の勾配を、直交性に基づいて混ぜ合わせる
177
- exp_avg.mul_(beta1).add_(grad, alpha=(1.0 - beta1) * self.g_freshness)
 
 
178
 
179
  # 重みの更新 (emoPulse = 絶対歩幅)
180
  if group['weight_decay'] != 0:
181
  p.mul_(1.0 - group['weight_decay'] * emoPulse)
182
 
183
  # FFT版と通常版を統合する分岐(デバイス状態判定)
184
- if p.device != grad.device:
185
  # FFTモード:デバイス間の計算を同じ場所へ統一
186
- update = exp_avg.to(p.device).sign()
187
  else:
188
  # 通常モード:同じ場所の場合は負荷軽減
189
  update = exp_avg.sign()
 
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
35
+ # use_shadow 緊急時モデル保護:通常 False (将来の特殊アーキテクチャへの保護機能)
36
+ # fftmode 学習モード切替え:通常 False (学習スケールをFFTとそれ以外で適正化)
37
+
38
  if self.fftmode:
39
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
40
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
 
71
  return math.tanh(diff_l)
72
 
73
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
74
+ # しかし全機能は shadow なしで全て成立します/通常VRAM負荷は shadow を考慮外として無視してください
75
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
76
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
77
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
 
121
 
122
  # --- Start Approx W-Ref Geometry [Tion] 近似アシスト ---
123
  # Weight Reference Geometry ("W"eight and "G"radient Method)
124
+ # 中間テンソルによるVRAM負荷やcos類似度測定の計算負荷を実質0に(平衡感覚器系)
125
  with torch.no_grad():
126
  # 現在の全パラメータのL1ノルムを一括計算(計算負荷: 低)
127
  # foreach_norm は各層のノルムをリストで返す。sumで1つの数値に集約。
 
132
  if prev is not None:
133
  # 前回のエネルギーを維持するための比率(スライス的な全層一律係数)
134
  gratio = (abs(point_gl1 - prev) / (prev + 1e-8)).item()
135
+ # freshness: 全域の動きが激しいほど 1.0 に近づく(係数0.05前後で安定)
136
+ self.g_freshness = min(gratio / 0.03, 1.0)
137
  # 現在の修正したノルムを復元(近似)スケール調整で打ち消し
138
  point_gl1 *= gratio
139
  else:
 
177
 
178
  # exp_avg = beta1 * exp_avg + (1 - beta1) * grad の「幾何学的拡張」
179
  # 慣性と現時点の勾配を、直交性に基づいて混ぜ合わせる
180
+ # freshness が 0 のときは alpha=0 となり、exp_avg は減衰せず 100% 維持される
181
+ g_alpha = (1.0 - beta1) * self.g_freshness
182
+ exp_avg.mul_(1.0 - g_alpha).add_(grad.to(p.device), alpha=g_alpha)
183
 
184
  # 重みの更新 (emoPulse = 絶対歩幅)
185
  if group['weight_decay'] != 0:
186
  p.mul_(1.0 - group['weight_decay'] * emoPulse)
187
 
188
  # FFT版と通常版を統合する分岐(デバイス状態判定)
189
+ if p.device != exp_avg.device:
190
  # FFTモード:デバイス間の計算を同じ場所へ統一
191
+ update = exp_avg.sign().to(p.device)
192
  else:
193
  # 通常モード:同じ場所の場合は負荷軽減
194
  update = exp_avg.sign()
2Gv38_AutoLR/emovoid.py CHANGED
@@ -32,6 +32,9 @@ class EmoVoid(Optimizer):
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
 
 
 
35
  if self.fftmode:
36
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
37
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
@@ -68,7 +71,7 @@ class EmoVoid(Optimizer):
68
  return math.tanh(diff_l)
69
 
70
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
71
- # しかし全機能は shadow なしで全て成立します/コード確認時はこの shadow を考慮外として無視してください
72
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
73
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
74
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
@@ -118,7 +121,7 @@ class EmoVoid(Optimizer):
118
 
119
  # --- Start Approx W-Ref Geometry [Void] 近似アシスト ---
120
  # Weight Reference Geometry ("W"eight and "G"radient Method)
121
- # 中間テンソルによるVRAM負荷やcos類似度測定の計算負荷を実質0にする
122
  with torch.no_grad():
123
  # 現在の全パラメータのL1ノルムを一括計算(計算負荷: 低)
124
  # foreach_norm は各層のノルムをリストで返す。sumで1つの数値に集約。
 
32
  self.noise_est = 1.0 # emoPulse nest 初期化
33
  self.d_est = 0.02 # emoPulse dest 初期化
34
 
35
+ # use_shadow 緊急時モデル保護:通常 False (将来の特殊アーキテクチャへの保護機能)
36
+ # fftmode 学習モード切替え:通常 False (学習スケールをFFTとそれ以外で適正化)
37
+
38
  if self.fftmode:
39
  self.base_scale, self.max_lim, self.min_lim = 1e-5, 3e-4, 1e-8
40
  self.stop_scalar,self.stop_dNRsub = 5e-7, 5e-8
 
71
  return math.tanh(diff_l)
72
 
73
  # (重要)現在は shadow-effect を参考に得た動的フィルタ効果の近似により use_shadow=False です
74
+ # しかし全機能は shadow なしで全て成立します/通常VRAM負荷は shadow を考慮外として無視してください
75
  # emoPulse機構によるLR推定はWt打ち消しODE近似相当のためshadowは未知のアーキテクチャへの保険(免疫系)
76
  # Shadow混合比 3段階構成 タスクに応じ調整可、以下を参考に 開始値・範囲量・変化幅を調整
77
  # return 開始値 + ((scalar) - 閾値) / 範囲量 * 変化幅 も可能(特殊用途向け)
 
121
 
122
  # --- Start Approx W-Ref Geometry [Void] 近似アシスト ---
123
  # Weight Reference Geometry ("W"eight and "G"radient Method)
124
+ # 中間テンソルによるVRAM負荷やcos類似度測定の計算負荷を実質0に(平衡感覚器系)
125
  with torch.no_grad():
126
  # 現在の全パラメータのL1ノルムを一括計算(計算負荷: 低)
127
  # foreach_norm は各層のノルムをリストで返す。sumで1つの数値に集約。