class_docstr: OnnxModule is as a replacement of torch.nn.Module for running forward pass with onnxruntime.
  
  The module can be generated with MultiModalPredictor.export_tensorrt(),
  so that we can predict with TensorRT by simply replacing predictor._model with OnnxModule.
docstr: Make the module callable like torch.nn.Module, while running forward pass with onnxruntime.
  
  Parameters
  ----------
  args : list of torch.Tensor
      A list of torch.Tensor that are inputs of the model.
  
  Returns
  -------
  onnx_outputs : list of torch.Tensor
      A list of torch.Tensor that are outputs of the model.
code: def __call__(self, *args):
      """
      Make the module callable like torch.nn.Module, while running forward pass with onnxruntime.
  
      Parameters
      ----------
      args : list of torch.Tensor
          A list of torch.Tensor that are inputs of the model.
  
      Returns
      -------
      onnx_outputs : list of torch.Tensor
          A list of torch.Tensor that are outputs of the model.
      """
      import torch
  
      input_dict = {
          k: args[i].cpu().numpy()
          for i, k in enumerate(self.input_names)
      }
      onnx_outputs = self.sess.run(self.output_names, input_dict)
      onnx_outputs = onnx_outputs[:3]
      onnx_outputs = [torch.from_numpy(out) for out in onnx_outputs]
      return onnx_outputs
  
file_path: autogluon/multimodal/src/autogluon/multimodal/utils/onnx.py
imports: import logging
  import os
  from typing import Dict, List, Optional, Tuple, Union
  from torch import tensor
  from ..constants import AUTOMM, FEATURE_EXTRACTION, MULTICLASS
label_desc: Use image node_id 2 for calling the OnnxModule obj's underlying member method code with example usage: obj.__call__() and returns: onnx_outputs