code: def get_synth_input_fn(height, width, num_channels, num_classes):
    
    def input_fn(is_training, data_dir, batch_size, *args, **kwargs):  # pylint: disable=unused-argument
      images = tf.zeros((batch_size, height, width, num_channels), tf.float32)
      labels = tf.zeros((batch_size, num_classes), tf.int32)
      return tf.data.Dataset.from_tensors((images, labels)).repeat()
  
    return input_fn
docs: Returns an input function that returns a dataset with zeroes.
  
    This is useful in debugging input pipeline performance, as it removes all
    elements of file reading and image preprocessing.
  
    Args:
      height: Integer height that will be used to create a fake image tensor.
      width: Integer width that will be used to create a fake image tensor.
      num_channels: Integer depth that will be used to create a fake image tensor.
      num_classes: Number of classes that should be represented in the fake labels
        tensor
  
    Returns:
      An input_fn that can be used in place of a real one to return a dataset
      that can be used for iteration.