# tensorflow::ops::FakeQuantWithMinMaxVarsGradient Class Reference

# tensorflow::ops::FakeQuantWithMinMaxVarsGradient

`#include <array_ops.h>`

Compute gradients for a [FakeQuantWithMinMaxVars](https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars) operation.

## Summary

Arguments:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- gradients: Backpropagated gradients above the [FakeQuantWithMinMaxVars](https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars) operation.
- inputs: Values passed as inputs to the [FakeQuantWithMinMaxVars](https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars) operation. min, max: Quantization interval, scalar floats.

<br />

Optional attributes (see `https://www.tensorflow.org/versions/r2.3/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-gradient/attrs#structtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1_1_attrs`):

- num_bits: The bitwidth of the quantization; between 2 and 8, inclusive.
- narrow_range: Whether to quantize into 2\^num_bits - 1 distinct values.

<br />

Returns:

- `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` backprops_wrt_input: Backpropagated gradients w.r.t. inputs: `gradients * (inputs >= min && inputs <= max)`.
- `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` backprop_wrt_min: Backpropagated gradients w.r.t. min parameter: `sum(gradients * (inputs < min))`.
- `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` backprop_wrt_max: Backpropagated gradients w.r.t. max parameter: `sum(gradients * (inputs > max))`.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1ad9be97a8137f00d7e54153251f4f62ea(const ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input gradients, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input inputs, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input min, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input max)` ||
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1a11b1c942c92067ddafc4db678f6d85b7(const ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input gradients, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input inputs, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input min, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input max, const https://www.tensorflow.org/versions/r2.3/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-gradient/attrs#structtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1_1_attrs & attrs)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1abf26c1c7473251c45c87afadedb09d0a` | `::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1a5230729c290e5cdc02a6498499e3214d` | `::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1a2df281b7207f270927b8666d5af881dc` | `::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1a916fa0e07f7154a9b6a1d1fa6b9e1ead` | `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation` |

| ### Public static functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1a60218fbba17b3acc458fd338852f0764(bool x)` | `https://www.tensorflow.org/versions/r2.3/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-gradient/attrs#structtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1_1_attrs` |
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1abbc87cb92b40cc087db232df595ab001(int64 x)` | `https://www.tensorflow.org/versions/r2.3/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-gradient/attrs#structtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient_1_1_attrs` |

| ### Structs ||
|---|---|
| [tensorflow::ops::FakeQuantWithMinMaxVarsGradient::Attrs](https://www.tensorflow.org/versions/r2.3/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-gradient/attrs) | Optional attribute setters for [FakeQuantWithMinMaxVarsGradient](https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-gradient#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_gradient). |

## Public attributes

### backprop_wrt_max

```
::tensorflow::Output backprop_wrt_max
```

### backprop_wrt_min

```
::tensorflow::Output backprop_wrt_min
```

### backprops_wrt_input

```
::tensorflow::Output backprops_wrt_input
```

### operation

```
Operation operation
```

## Public functions

### FakeQuantWithMinMaxVarsGradient

```
 FakeQuantWithMinMaxVarsGradient(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input gradients,
  ::tensorflow::Input inputs,
  ::tensorflow::Input min,
  ::tensorflow::Input max
)
```

### FakeQuantWithMinMaxVarsGradient

```
 FakeQuantWithMinMaxVarsGradient(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input gradients,
  ::tensorflow::Input inputs,
  ::tensorflow::Input min,
  ::tensorflow::Input max,
  const FakeQuantWithMinMaxVarsGradient::Attrs & attrs
)
```

## Public static functions

### NarrowRange

```
Attrs NarrowRange(
  bool x
)
```

### NumBits

```
Attrs NumBits(
  int64 x
)
```