tf.raw_ops.TensorScatterUpdate

Scatter updates into an existing tensor according to indices.

This operation creates a new tensor by applying sparse updates to the passed in tensor. This operation is very similar to tf.scatter_nd, except that the updates are scattered onto an existing tensor (as opposed to a zero-tensor). If the memory for the existing tensor cannot be re-used, a copy is made and updated.

If indices contains duplicates, then we pick the last update for the index.

  • If an out of bound index is found, the index is ignored.
  • The order in which updates are applied is nondeterministic, so the output will be nondeterministic if indices contains duplicates.

indices is an integer tensor containing indices into a new tensor of shape shape.

  • indices must have at least 2 axes: (num_updates, index_depth).
  • The last axis of indices is how deep to index into tensor so this index depth must be less than the rank of tensor: indices.shape[-1] <= tensor.ndim

if indices.shape[-1] = tensor.rank this Op indexes and updates scalar elements. if indices.shape[-1] < tensor.rank it indexes and updates slices of the input tensor.

Each update has a rank of tensor.rank - indices.shape[-1]. The overall shape of updates is:

indices.shape[:-1] + tensor.shape[indices.shape[-1]:]

If indices contains any out-of-bound indices, depending on bad_indices_policy, the op will either return an error or ignore the out-of-bound indices. bad_indices_policy can be one of the following values:

  1. "" or "DEFAULT": raises on CPU and ignore on GPU. This is because historically on CPU and GPU we handle errors in different ways, and for backward compatibility we keep the default behavior.
  2. "ERROR": raises error; GPU does not support this value.
  3. "IGNORE": ignore the bad indices; supported on both CPU and GPU.

For usage examples see the python tf.tensor_scatter_nd_update function

tensor A Tensor. Tensor to copy/update.
indices A Tensor. Must be one of the following types: int16, int32, int64, uint16. Index tensor.
updates A Tensor. Must have the same type as tensor. Updates to scatter into output.
bad_indices_policy An optional string. Defaults to "".
name A name for the operation (optional).

A Tensor. Has the same type as tensor.