U o[f@s8ddlZGdddZGdddZGdddeZdS)Nc@s*eZdZdZd ddZddZddZd S) LambdaWarmUpCosineSchedulerz) note: use with a base_lr of 1.0 rcCs.||_||_||_||_||_d|_||_dS)N)lr_warm_up_stepslr_startlr_minlr_maxlr_max_decay_stepslast_lrverbosity_interval)self warm_up_stepsrrrZmax_decay_stepsr r ./ldm/lr_scheduler.py__init__sz$LambdaWarmUpCosineScheduler.__init__cKs|jdkr.||jdkr.td|d|j||jkr^|j|j|j||j}||_|S||j|j|j}t|d}|jd|j|jdt |t j }||_|SdS)Nrcurrent step: , recent lr-multiplier: ??) r printr rrrrminrnpcospi)r nkwargslrtr r rschedules   z$LambdaWarmUpCosineScheduler.schedulecKs|j|f|SNrr rrr r r__call__ sz$LambdaWarmUpCosineScheduler.__call__N)r)__name__ __module__ __qualname____doc__rrr"r r r rrs rc@s2eZdZdZd ddZddZddZd d Zd S) LambdaWarmUpCosineScheduler2zc supports repeated iterations, configurable via lists note: use with a base_lr of 1.0. rcCst|t|krs -