code: def __init__(
      self,
      shape=None,
      batch_size=None,
      dtype=None,
      sparse=None,
      batch_shape=None,
      input_tensor=None,
      name=None,
      **kwargs,
  ):
      # TODO: support for ragged.
      super().__init__(name=name)
      if "input_shape" in kwargs:
          warnings.warn(
              "Argument `input_shape` is deprecated. Use `shape` instead."
          )
          shape = kwargs.pop("input_shape")
      if "batch_input_shape" in kwargs:
          batch_shape = kwargs.pop("batch_input_shape")
  
      if shape is not None and batch_shape is not None:
          raise ValueError(
              "You cannot pass both `shape` and `batch_shape` at the "
              "same time."
          )
      if batch_size is not None and batch_shape is not None:
          raise ValueError(
              "You cannot pass both `batch_size` and `batch_shape` at the "
              "same time."
          )
      if shape is None and batch_shape is None:
          raise ValueError("You must pass a `shape` argument.")
  
      if shape is not None:
          shape = backend.standardize_shape(shape)
          batch_shape = (batch_size,) + shape
      self.batch_shape = tuple(batch_shape)
      self._dtype = backend.standardize_dtype(dtype)
  
      self.sparse = bool(sparse)
      if self.sparse and not backend.SUPPORTS_SPARSE_TENSORS:
          raise ValueError(
              "`sparse=True` is not supported with backend: "
              f"{backend.backend()}"
          )
  
      if input_tensor is not None:
          if not isinstance(input_tensor, backend.KerasTensor):
              raise ValueError(
                  "Argument `input_tensor` must be a KerasTensor. "
                  f"Received invalid type: input_tensor={input_tensor} "
                  f"(of type {type(input_tensor)})"
              )
      else:
          input_tensor = backend.KerasTensor(
              shape=batch_shape, dtype=dtype, sparse=sparse, name=name
          )
      self._input_tensor = input_tensor
      Node(
          operation=self,
          call_args=(),
          call_kwargs={},
          outputs=input_tensor,
      )
      self.built = True
  
file_path: keras/keras/layers/core/input_layer.py
imports: import warnings
  from keras import backend
  from keras.api_export import keras_export
  from keras.layers.layer import Layer
  from keras.ops.node import Node
label_desc: Use image node_id 1 to create a new InputLayer object from inherited base classes: Layer with example: obj = InputLayer(shape, batch_size, dtype, sparse, batch_shape, input_tensor, name)