code: def slice_update(inputs, start_indices, updates):
      """Update an input by slicing in a tensor of updated values.
  
      At a high level, this operation does
      `inputs[start_indices: start_indices + updates.shape] = updates`.
      Assume inputs is a tensor of shape `(D0, D1, ..., Dn)`,
      `start_indices` must be a list/tuple of n integers, specifying the starting
      indices. `updates` must have the same rank as `inputs`, and the size of each
      dim must not exceed `Di - start_indices[i]`. For example, if we have 2D
      inputs `inputs = np.zeros((5, 5))`, and we want to update the intersection
      of last 2 rows and last 2 columns as 1, i.e.,
      `inputs[3:, 3:] = np.ones((2, 2))`, then we can use the code below:
  
      ```python
      inputs = np.zeros((5, 5))
      start_indices = [3, 3]
      updates = np.ones((2, 2))
      inputs = keras.ops.slice_update(inputs, start_indices, updates)
      ```
  
      Args:
          inputs: A tensor, the tensor to be updated.
          start_indices: A list/tuple of shape `(inputs.ndim,)`, specifying
              the starting indices for updating.
          updates: A tensor, the new values to be put to `inputs` at `indices`.
              `updates` must have the same rank as `inputs`.
  
      Returns:
          A tensor, has the same shape and dtype as `inputs`.
      """
      if any_symbolic_tensors((inputs, start_indices, updates)):
          return SliceUpdate().symbolic_call(
              inputs, start_indices, updates
          )
      return backend.core.slice_update(inputs, start_indices, updates)
  
imports: import numpy
  from keras import backend
  from keras.api_export import keras_export
  from keras.backend import KerasTensor
  from keras.backend import any_symbolic_tensors
  from keras.ops.operation import Operation
  from keras.utils import traceback_utils
label_desc: Use image node_id 4 for calling a global function with example usage: slice_update(inputs, start_indices, updates) and returns: backend, SliceUpdate