class_docstr: Warm up learning rate linearly
  
  Args:
      steps (int): warm up steps
      start_factor (float): initial learning rate factor
      epochs (int|None): use epochs as warm up steps, the priority
          of `epochs` is higher than `steps`. Default: None.
class_docstr_tok: ["Warm","up","learning","rate","linearly","Args",":","steps","(","int",")",":","warm","up","steps","start_factor","(","float",")",":","initial","learning","rate","factor","epochs","(","int|None",")",":","use","epochs","as","warm","up","steps",",","the","priority","of","`","epochs","`","is","higher","than","`","steps","`",".","Default",":","None","."]
code: def __init__(
      self,
      steps=500,
      start_factor=1.0 / 3,
      epochs=None,
      epochs_first=True,
  ):
      super(LinearWarmup, self).__init__()
      self.steps = steps
      self.start_factor = start_factor
      self.epochs = epochs
      self.epochs_first = epochs_first
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import sys
  import math
  import paddle
  import paddle.nn
  import paddle.optimizer
  import paddle.regularizer
  from ppdet.core.workspace import register, serializable
  import copy
  from .adamw import AdamWDL, build_adamwdl
  from ppdet.utils.logger import setup_logger
label_desc: Use image node_id 1 to create a new LinearWarmup object from inherited base classes: object with example: obj = LinearWarmup(steps, start_factor, epochs, epochs_first)