# tensorflow::ops::SparseAccumulatorTakeGradient

`#include <data_flow_ops.h>`

Extracts the average sparse gradient in a [SparseConditionalAccumulator](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/sparse-conditional-accumulator#classtensorflow_1_1ops_1_1_sparse_conditional_accumulator).

## Summary

The op will blocks until sufficient (i.e., more than num_required) gradients have been accumulated. If the accumulator has already aggregated more than num_required gradients, it will return its average of the accumulated gradients. Also automatically increments the recorded global_step in the accumulator by 1, and resets the aggregate to 0.

Arguments:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- handle: The handle to a [SparseConditionalAccumulator](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/sparse-conditional-accumulator#classtensorflow_1_1ops_1_1_sparse_conditional_accumulator).
- num_required: Number of gradients required before we return an aggregate.
- dtype: The data type of accumulated gradients. Needs to correspond to the type of the accumulator.

<br />

Returns:

- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` indices: Indices of the average of the accumulated sparse gradients.
- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` values: Values of the average of the accumulated sparse gradients.
- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` shape: Shape of the average of the accumulated sparse gradients.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/sparse-accumulator-take-gradient#classtensorflow_1_1ops_1_1_sparse_accumulator_take_gradient_1a54dc667e3f29216b387adf94e4ef4e18(const ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input handle, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input num_required, DataType dtype)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/sparse-accumulator-take-gradient#classtensorflow_1_1ops_1_1_sparse_accumulator_take_gradient_1aa27589031abec3face075eee8e143f70` | `::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/sparse-accumulator-take-gradient#classtensorflow_1_1ops_1_1_sparse_accumulator_take_gradient_1a33f81e771ced8ac821e9176f8d8de2ef` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/sparse-accumulator-take-gradient#classtensorflow_1_1ops_1_1_sparse_accumulator_take_gradient_1abaf43bc2f46333ed065180b5a922c901` | `::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/sparse-accumulator-take-gradient#classtensorflow_1_1ops_1_1_sparse_accumulator_take_gradient_1a0aec4d550ca79eebbf67045528376cbf` | `::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |

## Public attributes

### indices

```
::tensorflow::Output indices
```

### operation

```
Operation operation
```

### shape

```
::tensorflow::Output shape
```

### values

```
::tensorflow::Output values
```

## Public functions

### SparseAccumulatorTakeGradient

```
 SparseAccumulatorTakeGradient(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input handle,
  ::tensorflow::Input num_required,
  DataType dtype
)
```