# tensorflow::ops::ResourceScatterNdAdd Class Reference

# tensorflow::
ops::
ResourceScatterNdAdd

`
#include <state_ops.h>
`


Applies sparse addition to individual values or slices in a
[Variable](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/variable#classtensorflow_1_1ops_1_1_variable)
.

## Summary


`
ref
`
is a
`
https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor
`
with rank
`
P
`
and
`
indices
`
is a
`
https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_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
`
https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor
`
of rank
`
Q-1+P-K
`
with shape:


```
[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]
```

<br />


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:


```
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)
```

<br />


The resulting update to ref would look like this:

```
[1, 13, 3, 14, 14, 6, 7, 20]
```

<br />


See
`
tf.scatter_nd
`
for more details about how to make updates to slices.


Args:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- ref: A resource handle. Must be from a VarHandleOp.
- indices: A [Tensor](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) . Must be one of the following types: int32, int64. A tensor of indices into ref.
- updates: A [Tensor](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) . Must have the same type as ref. A tensor of values to add to ref.

<br />


Optional attributes (see
`
https://www.tensorflow.org/versions/r2.5/api_docs/cc/struct/tensorflow/ops/resource-scatter-nd-add/attrs#structtensorflow_1_1ops_1_1_resource_scatter_nd_add_1_1_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.

<br />


Returns:

- the created `
  https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation
  `

<br />

| ### Constructors and Destructors ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/resource-scatter-nd-add#classtensorflow_1_1ops_1_1_resource_scatter_nd_add_1ac61a21576bf08251b3104cbc6368deaf (const :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input ref, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input indices, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input updates) ` ||
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/resource-scatter-nd-add#classtensorflow_1_1ops_1_1_resource_scatter_nd_add_1ac36189a70aec0cf684abb8369d023498 (const :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input ref, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input indices, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input updates, const https://www.tensorflow.org/versions/r2.5/api_docs/cc/struct/tensorflow/ops/resource-scatter-nd-add/attrs#structtensorflow_1_1ops_1_1_resource_scatter_nd_add_1_1_attrs & attrs) ` ||

| ### Public attributes ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/resource-scatter-nd-add#classtensorflow_1_1ops_1_1_resource_scatter_nd_add_1ac94d129f0515c41be9253e727aaa988f ` | ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation ` |

| ### Public functions ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/resource-scatter-nd-add#classtensorflow_1_1ops_1_1_resource_scatter_nd_add_1a92cc69e6d97d0804f540a89ecc837f72 () const ` | ` ` |

| ### Public static functions ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/resource-scatter-nd-add#classtensorflow_1_1ops_1_1_resource_scatter_nd_add_1a817236acee28e1372228a96333567b07 (bool x) ` | ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/struct/tensorflow/ops/resource-scatter-nd-add/attrs#structtensorflow_1_1ops_1_1_resource_scatter_nd_add_1_1_attrs ` |

| ### Structs ||
|---|---|
| [tensorflow:: ops:: ResourceScatterNdAdd:: Attrs](https://www.tensorflow.org/versions/r2.5/api_docs/cc/struct/tensorflow/ops/resource-scatter-nd-add/attrs) | Optional attribute setters for [ResourceScatterNdAdd](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/resource-scatter-nd-add#classtensorflow_1_1ops_1_1_resource_scatter_nd_add) . |

## Public attributes

### operation

```
Operation operation
```

## Public functions

### ResourceScatterNdAdd

```
 ResourceScatterNdAdd(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input ref,
  ::tensorflow::Input indices,
  ::tensorflow::Input updates
)
```

### ResourceScatterNdAdd

```
 ResourceScatterNdAdd(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input ref,
  ::tensorflow::Input indices,
  ::tensorflow::Input updates,
  const ResourceScatterNdAdd::Attrs & attrs
)
```

### operator::tensorflow::Operation

```
 operator::tensorflow::Operation() const 
```

## Public static functions

### UseLocking

```
Attrs UseLocking(
  bool x
)
```