'Class constructor.
Arguments:
step_config (list, optional): Configure the step times (list of epoch indices).
Defaults to None (constant).
change (int, optional): The learning rate is
multiplied by ``change ** steps``, where ``steps`` is the
number of steps in the step schedule that have passed.'

def __init__(self, step_config=None, change=1.0):

    if (isinstance(step_config, list) and isinstance(change, list)):
        assert (len(step_config) == len(change)), 'change    and    step_config    must    have    the    samelength    after    step_config    is    deduplicated    to    do    epoch-level    LR    assignment.'
        logger.warn('This    functionality    will    be    removed    from    Schedule    in    the    future.    Please    use    the    StepSchedule    class    instead.')
    if isinstance(step_config, int):
        logger.warn('This    functionality    will    be    removed    from    Schedule    in    the    future.    Please    use    the    PowerSchedule    class    instead.')
    self.step_config = step_config
    self.change = change
    self.steps = 0
