code: def _preprocessing_fn_with_chained_ptransforms(inputs):
      class FakeChainable(
          tfx_namedtuple.namedtuple("FakeChainable", ["label"]),
          nodes.OperationDef,
      ):
          def __new__(cls):
              scope = tf.compat.v1.get_default_graph().get_name_scope()
              label = "{}[{}]".format(cls.__name__, scope)
              return super(FakeChainable, cls).__new__(cls, label=label)
  
      with tf.compat.v1.name_scope("x"):
          input_values_node = nodes.apply_operation(
              analyzer_nodes.TensorSource, tensors=[inputs["x"]]
          )
          with tf.compat.v1.name_scope("ptransform1"):
              intermediate_value_node = nodes.apply_operation(
                  FakeChainable, input_values_node
              )
          with tf.compat.v1.name_scope("ptransform2"):
              output_value_node = nodes.apply_operation(
                  FakeChainable, intermediate_value_node
              )
          x_chained = analyzer_nodes.bind_future_as_tensor(
              output_value_node,
              analyzer_nodes.TensorInfo(tf.float32, (17, 27), None),
          )
          return {"x_chained": x_chained}
  
imports: import os
  import tensorflow
  import tensorflow_transform
  from tensorflow_transform import analyzer_nodes
  from tensorflow_transform import impl_helper
  from tensorflow_transform import nodes
  from tensorflow_transform import tf2_utils
  from tensorflow_transform.beam import analysis_graph_builder
  from tensorflow_transform.beam import analyzer_cache
  from tensorflow_transform.beam import tft_unit
  from tfx_bsl.types import tfx_namedtuple
label_desc: Use image node_id 5 for calling a global function with example usage: _preprocessing_fn_with_chained_ptransforms(inputs) and returns: dict, super