class_docstr: 调整学习率的 **callback** 。
  
  :param warmup: 如果 ``warmup`` 为整数，则在该 step 之前，学习率根据 ``schedule`` 的策略变化; 如果 ``warmup`` 为 ``float``，
      如 0.1, 则前 10% 的 step 是按照 ``schedule`` 策略调整。
  :param schedule: 对学习率进行调整的策略：
  
      1. *linear* -- 前 ``warmup`` 的 step 上升到指定的学习率（从 Trainer 中 optimizer 处获取）, 在剩下的 step 中下降到 0；
      2. *constant* -- 前 ``warmup`` 的 step 上升到指定的学习率，余下的 step 保持不变。
code: def _get_linear_lr(self, progress):
      if progress < self.warmup:
          return progress / self.warmup
      return max((progress - 1.0) / (self.warmup - 1.0), 0.0)
  
file_path: fastNLP/fastNLP/core/callbacks/torch_callbacks/torch_lr_sched_callback.py
imports: import math
  from typing import Union
  from ..callback import Callback
label_desc: Use image node_id 3 for calling the TorchWarmupCallback obj's underlying member method code with example usage: obj._get_linear_lr(progress) and returns: max, unknown