code: def _parse_onnx_api(topology, model, inputs):
      """
      This function handles all input ONNX models.
  
      Args:
          topology: The ``onnxconverter_common.topology.Topology`` where the model will be added
          model: A ONNX model object
          inputs: A list of `onnxconverter_common.topology.Variable`s
  
      Returns:
          A list of output `onnxconverter_common.topology.Variable` which will be passed to next stage
      """
      if isinstance(model, str):
          raise RuntimeError(
              "Parameter model must be an object not a "
              "string '{0}'.".format(model)
          )
  
      # Parse an ONNX-ML model into our internal data structure (i.e., LinkedNode)
      graph = model.graph
      inputs_names = [in_.raw_name for in_ in inputs]
      output_names = (
          []
          if graph.output is None
          else [o_.name for o_ in graph.output]
      )
      initializers = (
          []
          if graph.initializer is None
          else [in_ for in_ in graph.initializer]
      )
      node_list = LinkedNode.build_from_onnx(
          graph.node,
          [],
          inputs_names + [in_.name for in_ in initializers],
          output_names,
      )
  
      # Make sure the entire node_list isn't only 'Identity'
      if all([x.op_type == "Identity" for x in node_list]):
          raise RuntimeError(
              "ONNX model contained only Identity nodes {}.".format(
                  node_list
              )
          )
  
      # This a new node list but with some node been removed plus eventual variable renaming.
      new_node_list = _remove_zipmap(node_list)
  
      # Add each operator in the LinkedNode data structure to the topology.
      for node in new_node_list:
          _parse_onnx_single_operator(topology, node)
  
imports: from collections import OrderedDict
  from copy import deepcopy
  import pprint
  from uuid import uuid4
  import numpy
  from onnxconverter_common.optimizer import LinkedNode, _topological_sort
  from sklearn import pipeline
  from sklearn.compose import ColumnTransformer
  from sklearn.ensemble import BaggingClassifier, BaggingRegressor
  from sklearn.model_selection import GridSearchCV, RandomizedSearchCV
  from sklearn.multioutput import MultiOutputRegressor, RegressorChain
  from sklearn.preprocessing import OneHotEncoder
  from .containers import CommonSklearnModelContainer, CommonONNXModelContainer, CommonSparkMLModelContainer
  from ._topology import Topology
  from ._utils import sklearn_installed, sparkml_installed
  from .operator_converters import constants
  from .supported import get_sklearn_api_operator_name, get_onnxml_api_operator_name, get_sparkml_api_operator_name
label_desc: Use image node_id 19 for calling a global function with example usage: _parse_onnx_api(topology, model, inputs) without return types