From afd59da0d9b64966302adb67165559c70f5dc35b Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Thu, 6 Aug 2026 16:47:07 -0500 Subject: feat: report Rain bias-to-signal ratios --- sdil/rain_ep_adapter.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'sdil/rain_ep_adapter.py') 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 ), -- cgit v1.2.3