code: def inference(
      model,
      im,
      ori_shape=None,
      transforms=None,
      is_slide=False,
      stride=None,
      crop_size=None,
  ):
      """
      Inference for image.
  
      Args:
          model (paddle.nn.Layer): model to get logits of image.
          im (Tensor): the input image.
          ori_shape (list): Origin shape of image.
          transforms (list): Transforms for image.
          is_slide (bool): Whether to infer by sliding window. Default: False.
          crop_size (tuple|list). The size of sliding window, (w, h). It should be probided if is_slide is True.
          stride (tuple|list). The size of stride, (w, h). It should be probided if is_slide is True.
  
      Returns:
          Tensor: If ori_shape is not None, a prediction with shape (1, 1, h, w) is returned.
              If ori_shape is None, a logit with shape (1, num_classes, h, w) is returned.
      """
      if not is_slide:
          logits = model(im)
          if not isinstance(logits, collections.abc.Sequence):
              raise TypeError(
                  "The type of logits must be one of collections.abc.Sequence, e.g. list, tuple. But received {}".format(
                      type(logits)
                  )
              )
          logit = logits[0]
      else:
          logit = slide_inference(
              model, im, crop_size=crop_size, stride=stride
          )
      if ori_shape is not None:
          pred = paddle.argmax(
              logit, axis=1, keepdim=True, dtype="int32"
          )
          pred = reverse_transform(pred, ori_shape, transforms)
          return pred
      else:
          return logit
  
file_path: PaddleSeg/contrib/AutoNUE/core/infer_generate_autolabel.py
imports: import collections.abc
  from itertools import combinations
  import numpy
  import paddle
  import paddle.nn.functional
label_desc: Use image node_id 6 for calling a global function with example usage: inference(model, im, ori_shape, transforms, is_slide, stride, crop_size) and returns: pred, logit