# tensorflow::ops::AccumulatorTakeGradient

`#include <data_flow_ops.h>`

Extracts the average gradient in the given [ConditionalAccumulator](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/conditional-accumulator#classtensorflow_1_1ops_1_1_conditional_accumulator).

## Summary

The op 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 returns the 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 an 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`: The average of the accumulated gradients.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/accumulator-take-gradient#classtensorflow_1_1ops_1_1_accumulator_take_gradient_1aa27a3882d95f8195f213544f6fd29377(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/accumulator-take-gradient#classtensorflow_1_1ops_1_1_accumulator_take_gradient_1acc0ea8ac4a347e3dfdfc93275381e25b` | `::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/accumulator-take-gradient#classtensorflow_1_1ops_1_1_accumulator_take_gradient_1a4ded4bd0ecb0059a992e4df09f133072` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation` |

| ### Public functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/accumulator-take-gradient#classtensorflow_1_1ops_1_1_accumulator_take_gradient_1a45091b659ff109f115c9cd566637eee5() const ` | `::tensorflow::Node *` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/accumulator-take-gradient#classtensorflow_1_1ops_1_1_accumulator_take_gradient_1a86cb9d0b71e04162e4177239a36ca5dc() const ` | ` `` ` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/accumulator-take-gradient#classtensorflow_1_1ops_1_1_accumulator_take_gradient_1a9fd3cd7a27d7feb9205fc5e965479885() const ` | ` `` ` |

## Public attributes

### average

```
::tensorflow::Output average
```

### operation

```
Operation operation
```

## Public functions

### AccumulatorTakeGradient

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

### node

```
::tensorflow::Node * node() const 
```

### operator::tensorflow::Input

```
 operator::tensorflow::Input() const 
```

### operator::tensorflow::Output

```
 operator::tensorflow::Output() const 
```