Code Duplication    Length = 7-10 lines in 2 locations

deepy/trainers/annealers.py 2 locations

@@ 36-45 (lines=10) @@
33
        self._iter = 0
34
        self._annealed_iter = 0
35
36
    def invoke(self):
37
        """
38
        Run it, return whether to end training.
39
        """
40
        self._iter += 1
41
        if self._iter - max(self._trainer.best_iter, self._annealed_iter) >= self._patience:
42
            if self._annealed_times >= self._anneal_times:
43
                logging.info("ending")
44
                return True
45
            else:
46
                self._trainer.set_params(*self._trainer.best_params)
47
                self._learning_rate.set_value(self._learning_rate.get_value() * 0.5)
48
                self._annealed_times += 1
@@ 74-80 (lines=7) @@
71
        self._rollback = rollback
72
73
74
    def bind(self, trainer):
75
        super(ScheduledLearningRateAnnealer, self).bind(trainer)
76
        self._learning_rate = self._trainer.config.learning_rate
77
        self._iter = 0
78
        self._last_halving_iter = 0
79
80
    def invoke(self):
81
        self._iter += 1
82
        if self._iter >= self.iter_start_halving and self._iter > self._last_halving_iter + self._halving_interval:
83
            if self._rollback: