class_docstr: LinexLoss is an asymmetric loss talked about in
  https://www.scirp.org/journal/paperinformation.aspx?paperid=97986
docstr: :param a: when a is set to ~0, this loss is similar to MSE.
         when a is set to > 0, this loss panelize underestimate more.
         when a is set to < 0, this loss panelize overestimate more.
docstr_tok: [":","param","a",":","when","a","is","set","to","~0",",","this","loss","is","similar","to","MSE",".","when","a","is","set","to",">","0",",","this","loss","panelize","underestimate","more",".","when","a","is","set","to","<","0",",","this","loss","panelize","overestimate","more","."]
code: def __init__(self, a=1):
      """
      :param a: when a is set to ~0, this loss is similar to MSE.
             when a is set to > 0, this loss panelize underestimate more.
             when a is set to < 0, this loss panelize overestimate more.
      """
      super().__init__()
      invalidInputError(a != 0, "a should not be set to 0")
      self.a = a
      self.b = 2 / (a**2)
  
imports: import torch
  import torch.nn
  from bigdl.nano.utils.common import invalidInputError
label_desc: Use image node_id 1 to create a new LinexLoss object from inherited base classes: nn with example: obj = LinexLoss(a)