class_docstr: The LR scheduler proposed by Noam
  
  Ref:
      "Attention Is All You Need", https://arxiv.org/pdf/1706.03762.pdf
  
  FIXME(kamo): PyTorch doesn't provide _LRScheduler as public class,
   thus the behaviour isn't guaranteed at forward PyTorch version.
  
  NOTE(kamo): The "model_size" in original implementation is derived from
   the model, but in this implementation, this parameter is a constant value.
   You need to change it if the model is changed.
class_docstr_tok: ["The","LR","scheduler","proposed","by","Noam","Ref",":","``","Attention","Is","All","You","Need","''",",","https",":","\/\/arxiv.org\/pdf\/1706.03762.pdf","FIXME","(","kamo",")",":","PyTorch","does","n't","provide","_LRScheduler","as","public","class",",","thus","the","behaviour","is","n't","guaranteed","at","forward","PyTorch","version",".","NOTE","(","kamo",")",":","The","``","model_size","''","in","original","implementation","is","derived","from","the","model",",","but","in","this","implementation",",","this","parameter","is","a","constant","value",".","You","need","to","change","it","if","the","model","is","changed","."]
code: def get_lr(self):
      step_num = self.last_epoch + 1
      return [
          lr
          * self.model_size**-0.5
          * min(step_num**-0.5, step_num * self.warmup_steps**-1.5)
          for lr in self.base_lrs
      ]
  
file_path: espnet/espnet2/schedulers/noam_lr.py
imports: import warnings
  from typing import Union
  import torch
  from torch.optim.lr_scheduler import _LRScheduler
  from typeguard import check_argument_types
  from espnet2.schedulers.abs_scheduler import AbsBatchStepScheduler
label_desc: Use image node_id 4 for calling the NoamLR obj's underlying member method code with example usage: obj.get_lr() and returns: unknown