# tensorflow::ops::SparseAddGrad Class Reference

# tensorflow::
ops::
SparseAddGrad

`
#include <sparse_ops.h>
`


The gradient operator for the
[SparseAdd](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/sparse-add#classtensorflow_1_1ops_1_1_sparse_add)
op.

## Summary


The
[SparseAdd](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/sparse-add#classtensorflow_1_1ops_1_1_sparse_add)
op calculates A + B, where A, B, and the sum are all represented as
`
SparseTensor
`
objects. This op takes in the upstream gradient w.r.t. non-empty values of the sum, and outputs the gradients w.r.t. the non-empty values of A and B.


Args:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- backprop_val_grad: 1-D with shape `
  [nnz(sum)]
  ` . The gradient with respect to the non-empty values of the sum.
- a_indices: 2-D. The `
  indices
  ` of the `
  SparseTensor
  ` A, size `
  [nnz(A), ndims]
  ` .
- b_indices: 2-D. The `
  indices
  ` of the `
  SparseTensor
  ` B, size `
  [nnz(B), ndims]
  ` .
- sum_indices: 2-D. The `
  indices
  ` of the sum `
  SparseTensor
  ` , size `
  [nnz(sum), ndims]
  ` .

<br />


Returns:

- `
  https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output
  ` a_val_grad: 1-D with shape `
  [nnz(A)]
  ` . The gradient with respect to the non-empty values of A.
- `
  https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output
  ` b_val_grad: 1-D with shape `
  [nnz(B)]
  ` . The gradient with respect to the non-empty values of B.

<br />

| ### Constructors and Destructors ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/sparse-add-grad#classtensorflow_1_1ops_1_1_sparse_add_grad_1abbcde91fb7e908ec0479c7f47b13e1c5 (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 backprop_val_grad, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input a_indices, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input b_indices, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input sum_indices) ` ||

| ### Public attributes ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/sparse-add-grad#classtensorflow_1_1ops_1_1_sparse_add_grad_1a93a1ecb35e9a570a0ce07d6b64c378d3 ` | ` :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/sparse-add-grad#classtensorflow_1_1ops_1_1_sparse_add_grad_1a89ccb278507678ca1a3ac465ccdf2613 ` | ` :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/sparse-add-grad#classtensorflow_1_1ops_1_1_sparse_add_grad_1a0ae3fb6459f86ab238ee9d3705c33994 ` | ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation ` |

## Public attributes

### a_val_grad

```
::tensorflow::Output a_val_grad
```

### b_val_grad

```
::tensorflow::Output b_val_grad
```

### operation

```
Operation operation
```

## Public functions

### SparseAddGrad

```
 SparseAddGrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input backprop_val_grad,
  ::tensorflow::Input a_indices,
  ::tensorflow::Input b_indices,
  ::tensorflow::Input sum_indices
)
```