@Namespace(value="tensorflow::ops") @NoOffset @Properties(inherit=tensorflow.class) public class ResourceScatterNdAdd extends Pointer
ref
is a Tensor
with rank P
and indices
is a Tensor
of rank Q
.
indices
must be integer tensor, containing indices into ref
.
It must be shape [d_0, ..., d_{Q-2}, K]
where 0 < K <= P
.
The innermost dimension of indices
(with length K
) corresponds to
indices into elements (if K = P
) or slices (if K < P
) along the K
th
dimension of ref
.
updates
is Tensor
of rank Q-1+P-K
with shape:
[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]
For example, say we want to add 4 scattered elements to a rank-1 tensor to
8 elements. In Python, that addition would look like this:
python
ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8], use_resource=True)
indices = tf.constant([[4], [3], [1], [7]])
updates = tf.constant([9, 10, 11, 12])
add = tf.scatter_nd_add(ref, indices, updates)
with tf.Session() as sess:
print sess.run(add)
The resulting update to ref would look like this:
[1, 13, 3, 14, 14, 6, 7, 20]
See tf.scatter_nd
for more details about how to make updates to
slices.
Arguments:
* scope: A Scope object
* ref: A resource handle. Must be from a VarHandleOp.
* indices: A Tensor. Must be one of the following types: int32, int64.
A tensor of indices into ref.
* updates: A Tensor. Must have the same type as ref. A tensor of
values to add to ref.
Optional attributes (see Attrs
):
* 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.
Returns:
* the created Operation
Modifier and Type | Class and Description |
---|---|
static class |
ResourceScatterNdAdd.Attrs
Optional attribute setters for ResourceScatterNdAdd
|
Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator, Pointer.ReferenceCounter
Constructor and Description |
---|
ResourceScatterNdAdd(Pointer p)
Pointer cast constructor.
|
ResourceScatterNdAdd(Scope scope,
Input ref,
Input indices,
Input updates) |
ResourceScatterNdAdd(Scope scope,
Input ref,
Input indices,
Input updates,
ResourceScatterNdAdd.Attrs attrs) |
Modifier and Type | Method and Description |
---|---|
Operation |
asOperation() |
Operation |
operation() |
ResourceScatterNdAdd |
operation(Operation setter) |
static ResourceScatterNdAdd.Attrs |
UseLocking(boolean x) |
address, asBuffer, asByteBuffer, availablePhysicalBytes, calloc, capacity, capacity, close, deallocate, deallocate, deallocateReferences, deallocator, deallocator, equals, fill, formatBytes, free, getDirectBufferAddress, getPointer, getPointer, getPointer, getPointer, hashCode, interruptDeallocatorThread, isNull, isNull, limit, limit, malloc, maxBytes, maxPhysicalBytes, memchr, memcmp, memcpy, memmove, memset, offsetAddress, offsetof, offsetof, parseBytes, physicalBytes, physicalBytesInaccurate, position, position, put, realloc, referenceCount, releaseReference, retainReference, setNull, sizeof, sizeof, toString, totalBytes, totalCount, totalPhysicalBytes, withDeallocator, zero
public ResourceScatterNdAdd(Pointer p)
Pointer(Pointer)
.public ResourceScatterNdAdd(@Const @ByRef Scope scope, @ByVal Input ref, @ByVal Input indices, @ByVal Input updates)
@ByVal public static ResourceScatterNdAdd.Attrs UseLocking(@Cast(value="bool") boolean x)
public ResourceScatterNdAdd operation(Operation setter)
Copyright © 2022. All rights reserved.