summaryrefslogtreecommitdiff
path: root/sdil
diff options
context:
space:
mode:
authorYurenHao0426 <Blackhao0426@gmail.com>2026-08-06 16:47:07 -0500
committerYurenHao0426 <Blackhao0426@gmail.com>2026-08-06 16:47:07 -0500
commitafd59da0d9b64966302adb67165559c70f5dc35b (patch)
tree750f119a8f4ffbe252b07cb450dba0b8834e1b7a /sdil
parentfa19cd0020a9c356a9f849f93d857cce040c1bb7 (diff)
feat: report Rain bias-to-signal ratios
Diffstat (limited to 'sdil')
-rw-r--r--sdil/rain_ep_adapter.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/sdil/rain_ep_adapter.py b/sdil/rain_ep_adapter.py
index 9c7ab8f..bcdc410 100644
--- a/sdil/rain_ep_adapter.py
+++ b/sdil/rain_ep_adapter.py
@@ -163,13 +163,20 @@ class RainGradientCorrector:
value - target for value, target in zip(corrected, clean)
]
total_elements = sum(value.numel() for value in bias)
+ clean_square = sum(float(value.square().sum()) for value in clean)
bias_square = sum(float(value.square().sum()) for value in bias)
residual_square = sum(
float(value.square().sum()) for value in residual_bias)
+ clean_rms = (clean_square / total_elements) ** 0.5
+ bias_rms = (bias_square / total_elements) ** 0.5
+ residual_bias_rms = (residual_square / total_elements) ** 0.5
self.last_diagnostics = {
"step": self.steps,
- "bias_rms": (bias_square / total_elements) ** 0.5,
- "residual_bias_rms": (residual_square / total_elements) ** 0.5,
+ "clean_rms": clean_rms,
+ "bias_rms": bias_rms,
+ "residual_bias_rms": residual_bias_rms,
+ "bias_to_clean_rms": bias_rms / max(clean_rms, 1e-30),
+ "residual_to_clean_rms": residual_bias_rms / max(clean_rms, 1e-30),
"neutral_observations": (
0 if self.debiaser is None else self.debiaser.neutral_observations
),