def METHOD_NAME(self):
    self.configure_optimizers()
    optimizers = self.optimizer if isinstance(self.optimizer, (tuple, list)) else [self.optimizer]
    for optimizer in optimizers:
        for param_group in optimizer.param_groups:
            param_group["lr"] *= self.base_lr_reduction_factor_during_search
    lr_schedulers = self.lr_scheduler if isinstance(self.lr_scheduler, (tuple, list)) else [self.lr_scheduler]
    for lr_scheduler in lr_schedulers:
        if lr_scheduler is None:
            continue
        for attr_name in ["base_lrs", "init_lr"]:
            if hasattr(lr_scheduler, attr_name):
                setattr(
                    lr_scheduler,
                    attr_name,
                    [
                        base_lr * self.base_lr_reduction_factor_during_search
                        for base_lr in getattr(lr_scheduler, attr_name)
                    ],
                )
    self.training_epoch_count = 0
    self.best_val_metric_value = 0
    self.current_val_metric_value = 0