Applies sparse updates to a variable reference.
tf.raw_ops.ScatterUpdate( ref, indices, updates, use_locking=True, name=None )
This operation computes
# Scalar indices ref[indices, ...] = updates[...] # Vector indices (for each i) ref[indices[i], ...] = updates[i, ...] # High rank indices (for each i, ..., j) ref[indices[i, ..., j], ...] = updates[i, ..., j, ...]
This operation outputs ref
after the update is done. This makes it easier to chain operations that need to use the reset value.
If values in ref
is to be updated more than once, because there are duplicate entries in indices
, the order at which the updates happen for each value is undefined.
Requires updates.shape = indices.shape + ref.shape[1:]
or updates.shape = []
.
See also tf.batch_scatter_update
and tf.scatter_nd_update
.
Args | |
---|---|
ref | A mutable Tensor . Should be from a Variable node. |
indices | A Tensor . Must be one of the following types: int32 , int64 . A tensor of indices into the first dimension of ref . |
updates | A Tensor . Must have the same type as ref . A tensor of updated values to store in ref . |
use_locking | An optional bool . Defaults to True . If True, the assignment will be protected by a lock; otherwise the behavior is undefined, but may exhibit less contention. |
name | A name for the operation (optional). |
Returns | |
---|---|
A mutable Tensor . Has the same type as ref . |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/raw_ops/ScatterUpdate