class_docstr: AsymWeightLoss is an asymmetric loss.
docstr: :param underestimation_penalty: when underestimation_penalty is set to 1, the loss is MSE,
         if set larger than 1, this loss panelize underestimate more and vice versa.
  :param L1: if use L1 loss rather than MSE(L2) loss.
docstr_tok: [":","param","underestimation_penalty",":","when","underestimation_penalty","is","set","to","1",",","the","loss","is","MSE",",","if","set","larger","than","1",",","this","loss","panelize","underestimate","more","and","vice","versa",".",":","param","L1",":","if","use","L1","loss","rather","than","MSE","(","L2",")","loss","."]
code: def __init__(self, underestimation_penalty=1, L1=False):
      """
      :param underestimation_penalty: when underestimation_penalty is set to 1, the loss is MSE,
             if set larger than 1, this loss panelize underestimate more and vice versa.
      :param L1: if use L1 loss rather than MSE(L2) loss.
      """
      super().__init__()
      invalidInputError(
          underestimation_penalty > 0,
          "underestimation_penalty should be larger than 0",
      )
      self.L1 = L1
      self.underestimation_penalty = underestimation_penalty
  
file_path: BigDL/python/chronos/src/bigdl/chronos/pytorch/loss/asym_weight.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from bigdl.nano.utils.common import invalidInputError
label_desc: Use image node_id 1 to create a new AsymWeightLoss object from inherited base classes: nn with example: obj = AsymWeightLoss(underestimation_penalty, L1)