[Python]Learning rate scheduler

유한성·2024년 4월 9일
0

대학원생활

목록 보기
5/5
post-thumbnail

학습시 cosine graph의 형태로 learning rate를 조절하는 것이 효과적인 경우가 있다

pytorch 에서 제공하는 cosine annealing library의 경우에는 설정할 수 없는 option들을 customize 한 코드를 찾을 수 있었다

파라미터 설명

  • orch.optim.Optimizer
    - 사용할 optimizer 설정
  • first_cycle_steps : int,
    - 주기 설정
  • cycle_mult : float = 1.,
    - 주기를 변환할 수 있음 ( 2로 설정 시 주기가 반복시 2배가 됨 )
  • max_lr : float = 0.1,
    - learning rate의 최대값
  • min_lr : float = 100**-5.0,
    - learning rate의 최소값
  • warmup_steps : int = 0,
    - 처음에 일정 epoch동안 선형함수로 증가시킬 수 있음
  • gamma : float = 1.,
    - 한 주기마다 최대 learning rate의 값을 gamma에 비례하여 감소시킬 수 있음
  • last_epoch : int = -1

https://yongwookha.github.io/MachineLearning/2021-10-06-cosine-annealing-warm-up-restarts

https://github.com/katsura-jp/pytorch-cosine-annealing-with-warmup/blob/master/cosine_annealing_warmup/scheduler.py

0개의 댓글