TensorScatterNdUpdate

public final class TensorScatterNdUpdate

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 on CPU, an error is returned.

WARNING: There are some GPU specific semantics for this operation. - 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]:]
 
For usage examples see the python [tf.tensor_scatter_nd_update]( https://www.tensorflow.org/api_docs/python/tf/tensor_scatter_nd_update) function

Constants

String OP_NAME The name of this op, as known by TensorFlow core engine

Public Methods

Output<T>
asOutput()
Returns the symbolic handle of the tensor.
static <T extends TType> TensorScatterNdUpdate<T>
create(Scope scope, Operand<T> tensor, Operand<? extends TNumber> indices, Operand<T> updates)
Factory method to create a class wrapping a new TensorScatterNdUpdate operation.
Output<T>
output()
A new tensor with the given shape and updates applied according to the indices.

Inherited Methods

org.tensorflow.op.RawOp
final boolean
equals(Object obj)
final int
Operation
op()
Return this unit of computation as a single Operation.
final String
boolean
equals(Object arg0)
final Class<?>
getClass()
int
hashCode()
final void
notify()
final void
notifyAll()
String
toString()
final void
wait(long arg0, int arg1)
final void
wait(long arg0)
final void
wait()
org.tensorflow.op.Op
abstract ExecutionEnvironment
env()
Return the execution environment this op was created in.
abstract Operation
op()
Return this unit of computation as a single Operation.
org.tensorflow.Operand
abstract Output<T>
asOutput()
Returns the symbolic handle of the tensor.
abstract T
asTensor()
Returns the tensor at this operand.
abstract Shape
shape()
Returns the (possibly partially known) shape of the tensor referred to by the Output of this operand.
abstract Class<T>
type()
Returns the tensor type of this operand
org.tensorflow.ndarray.Shaped
abstract int
rank()
abstract Shape
shape()
abstract long
size()
Computes and returns the total size of this container, in number of values.

Constants

public static final String OP_NAME

The name of this op, as known by TensorFlow core engine

Constant Value: "TensorScatterUpdate"

Public Methods

public Output<T> asOutput ()

Returns the symbolic handle of the tensor.

Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.

public static TensorScatterNdUpdate<T> create (Scope scope, Operand<T> tensor, Operand<? extends TNumber> indices, Operand<T> updates)

Factory method to create a class wrapping a new TensorScatterNdUpdate operation.

Parameters
scope current scope
tensor Tensor to copy/update.
indices Index tensor.
updates Updates to scatter into output.
Returns
  • a new instance of TensorScatterNdUpdate

public Output<T> output ()

A new tensor with the given shape and updates applied according to the indices.