code: def _parse_sklearn_feature_union(topology, model, inputs):
      """
      Taken from https://github.com/onnx/sklearn-onnx/blob/9939c089a467676f4ffe9f3cb91098c4841f89d8/skl2onnx/_parse.py#L199.
      :param topology: Topology object
      :param model: A scikit-learn FeatureUnion object
      :param inputs: A list of Variable objects
      :return: A list of output variables produced by feature union
      """
      # Output variable name of each transform. It's a list of string.
      transformed_result_names = []
      # Encode each transform as our IR object
      for name, transform in model.transformer_list:
          transformed_result_names.append(
              _parse_sklearn_single_model(topology, transform, inputs)[
                  0
              ]
          )
          if (
              model.transformer_weights is not None
              and name in model.transformer_weights
          ):
              transform_result = [transformed_result_names.pop()]
              # Create a Multiply node
              multiply_operator = topology.declare_logical_operator(
                  "SklearnMultiply"
              )
              multiply_operator.inputs = transform_result
              multiply_operator.operand = model.transformer_weights[
                  name
              ]
              multiply_output = topology.declare_logical_variable(
                  "multiply_output"
              )
              multiply_operator.outputs.append(multiply_output)
              transformed_result_names.append(
                  multiply_operator.outputs[0]
              )
  
      # Create a Concat operator
      concat_operator = topology.declare_logical_operator(
          "SklearnConcat"
      )
      concat_operator.inputs = transformed_result_names
  
      # Declare output name of scikit-learn FeatureUnion
      union_name = topology.declare_logical_variable("union")
      concat_operator.outputs.append(union_name)
  
      return concat_operator.outputs
  
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 10 for calling a global function with example usage: _parse_sklearn_feature_union(topology, model, inputs) and returns: concat_operator