code: def forward(self, predicts, batch):
      text_pre = predicts[0]
      target = batch[1].astype("int64")
      label_flatten, length = self.flatten_label(target)
      text_pre = self._flatten(text_pre, length)
      if self.mode == "LF_1":
          loss = self.loss_func(text_pre, label_flatten)
      else:
          text_rem = predicts[1]
          text_mas = predicts[2]
          target_res = batch[2].astype("int64")
          target_sub = batch[3].astype("int64")
          label_flatten_res, length_res = self.flatten_label(target_res)
          label_flatten_sub, length_sub = self.flatten_label(target_sub)
          text_rem = self._flatten(text_rem, length_res)
          text_mas = self._flatten(text_mas, length_sub)
          loss_ori = self.loss_func(text_pre, label_flatten)
          loss_res = self.loss_func(text_rem, label_flatten_res)
          loss_mas = self.loss_func(text_mas, label_flatten_sub)
          loss = (
              loss_ori
              + loss_res * self.weight_res
              + loss_mas * self.weight_mas
          )
      return {"loss": loss}
  
file_path: PaddleOCR/ppocr/losses/rec_vl_loss.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  from paddle import nn
label_desc: Use image node_id 4 for calling the VLLoss obj's underlying member method code with example usage: obj.forward(predicts, batch) and returns: dict