From ce3f9e9d7002133a2683335297cbbb23d76d874a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Rey?= Date: Wed, 7 Oct 2026 17:57:40 +0200 Subject: [PATCH] Remove redundant GradVac weighting alias GradVac stored its weighting a second time in `_gradvac_weighting`, although the base class already exposes it as `gramian_weighting`, which every other aggregator uses. Co-Authored-By: Claude Opus 5.5 --- src/torchjd/aggregation/_gradvac.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/torchjd/aggregation/_gradvac.py b/src/torchjd/aggregation/_gradvac.py index 73464c11..d33cbf3b 100644 --- a/src/torchjd/aggregation/_gradvac.py +++ b/src/torchjd/aggregation/_gradvac.py @@ -165,30 +165,28 @@ class GradVac(GramianWeightedAggregator, Stateful, _NonDifferentiable): gramian_weighting: GradVacWeighting def __init__(self, beta: float = 0.5, eps: float = 1e-8) -> None: - weighting = GradVacWeighting(beta=beta, eps=eps) - super().__init__(weighting) - self._gradvac_weighting = weighting + super().__init__(GradVacWeighting(beta=beta, eps=eps)) @property def beta(self) -> float: - return self._gradvac_weighting.beta + return self.gramian_weighting.beta @beta.setter def beta(self, value: float) -> None: - self._gradvac_weighting.beta = value + self.gramian_weighting.beta = value @property def eps(self) -> float: - return self._gradvac_weighting.eps + return self.gramian_weighting.eps @eps.setter def eps(self, value: float) -> None: - self._gradvac_weighting.eps = value + self.gramian_weighting.eps = value def reset(self) -> None: """Clears EMA state so the next forward starts from zero targets.""" - self._gradvac_weighting.reset() + self.gramian_weighting.reset() def __repr__(self) -> str: return f"GradVac(beta={self.beta!r}, eps={self.eps!r})"