code: def createModelWithMultipleMixedInputs(self, save_as_keras):
      dense_input = tf.keras.layers.Input(
          shape=(2,), name="input_1", dtype=tf.int64
      )
      dense_float_input = tf.cast(dense_input, tf.float32)
      sparse_input = tf.keras.layers.Input(
          shape=(1,), name="input_2", sparse=True
      )
      dense_sparse_input = tf.keras.layers.Dense(
          1, name="dense_input2"
      )(sparse_input)
      ragged_input = tf.keras.layers.Input(
          shape=(None,), name="input_3", ragged=True
      )
      dense_ragged_input = tf.keras.layers.Lambda(
          lambda x: x.to_tensor()
      )(ragged_input)
      dense_ragged_input.set_shape((None, 1))
      inputs = [dense_input, sparse_input, ragged_input]
      input_layer = tf.keras.layers.concatenate(
          [dense_float_input, dense_sparse_input, dense_ragged_input]
      )
      output_layer = tf.keras.layers.Dense(1, activation=tf.nn.sigmoid)(
          input_layer
      )
      model = tf.keras.models.Model(inputs, output_layer)
  
      @tf.function
      def serving_default(features):
          return model(features)
  
      input_spec = {
          "input_1": tf.TensorSpec(
              shape=(None, 2), dtype=tf.int64, name="input_1"
          ),
          "input_2": tf.SparseTensorSpec(
              shape=(None, 1), dtype=tf.float32
          ),
          "input_3": tf.RaggedTensorSpec(
              shape=(None, 1), dtype=tf.float32
          ),
      }
      signatures = {
          "serving_default": serving_default.get_concrete_function(
              input_spec
          ),
          "custom_signature": serving_default.get_concrete_function(
              input_spec
          ),
      }
  
      export_path = tempfile.mkdtemp()
      if save_as_keras:
          model.save(
              export_path, save_format="tf", signatures=signatures
          )
      else:
          tf.saved_model.save(model, export_path, signatures=signatures)
      return export_path
  
imports: import tempfile
  import unittest
  from absl.testing import parameterized
  import apache_beam
  from apache_beam.testing import util
  import numpy
  import tensorflow
  from tensorflow_model_analysis import constants
  from tensorflow_model_analysis.api import types
  from tensorflow_model_analysis.eval_saved_model import testutil
  from tensorflow_model_analysis.proto import config_pb2
  from tensorflow_model_analysis.utils import model_util
  from tensorflow_model_analysis.utils import util
  from tfx_bsl.tfxio import tf_example_record
  from google.protobuf import text_format
  from tensorflow.core.protobuf import saved_model_pb2
  from tensorflow_metadata.proto.v0 import schema_pb2
label_desc: Use image node_id 5 for calling the ModelUtilTest obj's underlying member method code with example usage: obj.createModelWithMultipleMixedInputs(save_as_keras) and returns: export_path, model