class_docstr: CombinedLoss:
      a combionation of loss function
class_docstr_tok: ["CombinedLoss",":","a","combionation","of","loss","function"]
code: def __init__(self, loss_config_list=None):
      super().__init__()
      self.loss_func = []
      self.loss_weight = []
      assert isinstance(
          loss_config_list, list
      ), "operator config should be a list"
      for config in loss_config_list:
          assert (
              isinstance(config, dict) and len(config) == 1
          ), "yaml format error"
          name = list(config)[0]
          param = config[name]
          assert (
              "weight" in param
          ), "weight must be in param, but param just contains {}".format(
              param.keys()
          )
          self.loss_weight.append(param.pop("weight"))
          self.loss_func.append(eval(name)(**param))
  
file_path: PaddleOCR/ppocr/losses/combined_loss.py
imports: import paddle
  import paddle.nn
  from .rec_ctc_loss import CTCLoss
  from .center_loss import CenterLoss
  from .ace_loss import ACELoss
  from .rec_sar_loss import SARLoss
  from .distillation_loss import DistillationCTCLoss, DistillCTCLogits
  from .distillation_loss import DistillationSARLoss, DistillationNRTRLoss
  from .distillation_loss import DistillationDMLLoss, DistillationKLDivLoss, DistillationDKDLoss
  from .distillation_loss import DistillationDistanceLoss, DistillationDBLoss, DistillationDilaDBLoss
  from .distillation_loss import DistillationVQASerTokenLayoutLMLoss, DistillationSERDMLLoss
  from .distillation_loss import DistillationLossFromOutput
  from .distillation_loss import DistillationVQADistanceLoss
label_desc: Use image node_id 1 to create a new CombinedLoss object from inherited base classes: nn with example: obj = CombinedLoss(loss_config_list)