in train/lr_scheduler.py [0:0]
def update(self):
self.step_counter += 1
if self.cursor >= len(self.steps):
return self.lr
while self.steps[self.cursor] < self.step_counter:
self.lr *= self.factor
self.cursor += 1
# message
if self.cursor >= len(self.steps):
logging.info("Iter: %d, change learning rate to %0.5e for step [%d:Inf)" \
% (self.step_counter-1, self.lr, self.step_counter-1))
break # return self.lr
else:
logging.info("Iter: %d, change learning rate to %0.5e for step [%d:%d)" \
% (self.step_counter-1, self.lr, self.step_counter-1, \
self.steps[self.cursor]))
if self.step_counter < 1500:
self.lr_normalized = self.lr * (1. + 9.*self.step_counter/1500.) / 10.
else:
self.lr_normalized = self.lr
return self.lr_normalized