From f124113e8541fce4f48a38d8fe5919f6dc04725f Mon Sep 17 00:00:00 2001 From: Brad Smith Date: Thu, 11 Jun 2026 11:43:30 -0500 Subject: [PATCH] fix(training): drop removed ReduceLROnPlateau verbose arg (torch >=2.3) ReduceLROnPlateau was constructed with verbose=True in both TransferTrainer.setup_optimizers() and Trainer.__init__. PyTorch deprecated the scheduler verbose parameter in 2.2 and removed it thereafter, so on current torch (2.12 here) the constructor raises TypeError and any code path that builds the scheduler dies. This broke 3 tests in tests/models/test_transfer_trainer.py at optimizer setup. Remove the unsupported verbose argument from both call sites. No behavior change beyond losing the scheduler's built-in LR-change logging, which the removed flag no longer provides anyway. Closes #22 Co-Authored-By: Claude Opus 4.8 --- src/models/transfer_trainer.py | 3 +-- src/training/trainer.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/models/transfer_trainer.py b/src/models/transfer_trainer.py index a5e149d..ceb14bd 100644 --- a/src/models/transfer_trainer.py +++ b/src/models/transfer_trainer.py @@ -246,8 +246,7 @@ def setup_optimizers(self) -> Tuple[optim.Optimizer, optim.lr_scheduler._LRSched optimizer, mode='min', factor=0.5, - patience=5, - verbose=True + patience=5 ) return optimizer, scheduler diff --git a/src/training/trainer.py b/src/training/trainer.py index cdb235e..211ff27 100644 --- a/src/training/trainer.py +++ b/src/training/trainer.py @@ -70,8 +70,7 @@ def __init__(self, model: RegimeDetector, training_config: Optional[TrainingConf mode='min', factor=self.config.lr_scheduler_factor, patience=self.config.lr_scheduler_patience, - min_lr=self.config.lr_scheduler_min_lr, - verbose=True + min_lr=self.config.lr_scheduler_min_lr ) # Mixed precision training