lr_scheduler.py 524 字节
Newer Older
L
LielinJiang 已提交
1 2 3 4 5 6 7 8
import paddle


def build_lr_scheduler(cfg):
    name = cfg.pop('name')

    # TODO: add more learning rate scheduler
    if name == 'linear':
L
LielinJiang 已提交
9 10 11 12 13 14

        def lambda_rule(epoch):
            lr_l = 1.0 - max(
                0, epoch + 1 - cfg.start_epoch) / float(cfg.decay_epochs + 1)
            return lr_l

L
LielinJiang 已提交
15 16
        scheduler = paddle.optimizer.lr.LambdaDecay(cfg.learning_rate,
                                                    lr_lambda=lambda_rule)
L
LielinJiang 已提交
17
        return scheduler
L
LielinJiang 已提交
18 19
    else:
        raise NotImplementedError