code: def pre_process(
      self, img, relations, texts, gt_bboxes, tag, img_size
  ):
      img, relations, texts, gt_bboxes, tag, img_size = (
          img.numpy(),
          relations.numpy(),
          texts.numpy(),
          gt_bboxes.numpy(),
          tag.numpy().tolist(),
          img_size.numpy(),
      )
      temp_relations, temp_texts, temp_gt_bboxes = [], [], []
      h, w = int(np.max(img_size[:, 0])), int(np.max(img_size[:, 1]))
      img = paddle.to_tensor(img[:, :, :h, :w])
      batch = len(tag)
      for i in range(batch):
          num, recoder_len = tag[i][0], tag[i][1]
          temp_relations.append(
              paddle.to_tensor(
                  relations[i, :num, :num, :], dtype="float32"
              )
          )
          temp_texts.append(
              paddle.to_tensor(
                  texts[i, :num, :recoder_len], dtype="float32"
              )
          )
          temp_gt_bboxes.append(
              paddle.to_tensor(gt_bboxes[i, :num, ...], dtype="float32")
          )
      return img, temp_relations, temp_texts, temp_gt_bboxes
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  from paddle import nn
  import numpy
  import cv2
label_desc: Use image node_id 3 for calling the Kie_backbone obj's underlying member method code with example usage: obj.pre_process(img, relations, texts, gt_bboxes, tag, img_size) and returns: img,  temp_relations,  temp_texts,  temp_gt_bboxes