code: def __init__(self, model_file=None, session=None):
      self.model_file = model_file
      self.session = session
      model = onnx.load(self.model_file)
      graph = model.graph
      self.emap = numpy_helper.to_array(graph.initializer[-1])
      self.input_mean = 0.0
      self.input_std = 255.0
      # print('input mean and std:', model_file, self.input_mean, self.input_std)
      if self.session is None:
          self.session = onnxruntime.InferenceSession(
              self.model_file, None
          )
      inputs = self.session.get_inputs()
      self.input_names = []
      for inp in inputs:
          self.input_names.append(inp.name)
      outputs = self.session.get_outputs()
      output_names = []
      for out in outputs:
          output_names.append(out.name)
      self.output_names = output_names
      assert len(self.output_names) == 1
      output_shape = outputs[0].shape
      input_cfg = inputs[0]
      input_shape = input_cfg.shape
      self.input_shape = input_shape
      print("inswapper-shape:", self.input_shape)
      self.input_size = tuple(input_shape[2:4][::-1])
  
file_path: insightface/python-package/insightface/model_zoo/inswapper.py
imports: import time
  import numpy
  import onnxruntime
  import cv2
  import onnx
  from onnx import numpy_helper
  from ..utils import face_align
label_desc: Use image node_id 1 to create a new INSwapper object  with example: obj = INSwapper(model_file, session)