class_docstr: Layer that can safely used in a tf.data pipeline.
  
  The `call()` method must solely rely on `self.backend` ops.
  
  Only supports a single input tensor argument.
code: def __call__(self, inputs, **kwargs):
      if backend_utils.in_tf_graph() and not isinstance(
          inputs, keras.KerasTensor
      ):
          # We're in a TF graph, e.g. a tf.data pipeline.
          self.backend.set_backend("tensorflow")
          inputs = tree.map_structure(
              lambda x: self.backend.convert_to_tensor(
                  x, dtype=self.compute_dtype
              ),
              inputs,
          )
          switch_convert_input_args = False
          if self._convert_input_args:
              self._convert_input_args = False
              switch_convert_input_args = True
          try:
              outputs = super().__call__(inputs, **kwargs)
          finally:
              self.backend.reset()
              if switch_convert_input_args:
                  self._convert_input_args = True
          return outputs
      return super().__call__(inputs, **kwargs)
  
file_path: keras/keras/layers/preprocessing/tf_data_layer.py
imports: import tree
  import keras.backend
  from keras.layers.layer import Layer
  from keras.random.seed_generator import SeedGenerator
  from keras.utils import backend_utils
  from keras.utils import tracking
label_desc: Use image node_id 2 for calling the TFDataLayer obj's underlying member method code with example usage: obj.__call__(inputs) and returns: super, outputs