# tensorflow::ops::FusedBatchNormGradV3

`#include <nn_ops.h>`

Gradient for batch normalization.

## Summary

Note that the size of 4D Tensors are defined by either "NHWC" or "NCHW". The size of 1D Tensors matches the dimension C of the 4D Tensors.

Arguments:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- y_backprop: A 4D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for the gradient with respect to y.
- x: A 4D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for input data.
- scale: A 1D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for scaling factor, to scale the normalized x.
- reserve_space_1: When is_training is True, a 1D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for the computed batch mean to be reused in gradient computation. When is_training is False, a 1D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for the population mean to be reused in both 1st and 2nd order gradient computation.
- reserve_space_2: When is_training is True, a 1D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for the computed batch variance (inverted variance in the cuDNN case) to be reused in gradient computation. When is_training is False, a 1D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for the population variance to be reused in both 1st and 2nd order gradient computation.
- reserve_space_3: When is_training is True, a 1D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for some intermediate results to be reused in gradient computation. When is_training is False, a dummy empty [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) will be created.

<br />

Optional attributes (see `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/fused-batch-norm-grad-v3/attrs#structtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1_1_attrs`):

- epsilon: A small float number added to the variance of x.
- data_format: The data format for y_backprop, x, x_backprop. Either "NHWC" (default) or "NCHW".
- is_training: A bool value to indicate the operation is for training (default) or inference.

<br />

Returns:

- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` x_backprop: A 4D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for the gradient with respect to x.
- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` scale_backprop: A 1D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for the gradient with respect to scale.
- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` offset_backprop: A 1D [Tensor](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) for the gradient with respect to offset.
- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` reserve_space_4: Unused placeholder to match the mean input in [FusedBatchNorm](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm#classtensorflow_1_1ops_1_1_fused_batch_norm).
- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` reserve_space_5: Unused placeholder to match the variance input in [FusedBatchNorm](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm#classtensorflow_1_1ops_1_1_fused_batch_norm).

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1ac3fe4a0302b06ae9a5cf662f80907528(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 y_backprop, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input x, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input scale, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input reserve_space_1, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input reserve_space_2, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input reserve_space_3)` ||
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1a318c29205a83585cd6e0a6d93454d75d(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 y_backprop, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input x, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input scale, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input reserve_space_1, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input reserve_space_2, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input reserve_space_3, const https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/fused-batch-norm-grad-v3/attrs#structtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1_1_attrs & attrs)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1aeabda03fd72ca8bc9ddf3c63a61f3924` | `::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/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1ac20c169cf4ebb928d29a513c7dbb175d` | `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/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1a72868fdf04f88195ea726226b3560f09` | `::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/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1acf0982cbf448b711df128b277e698347` | `::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/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1a1265e887fcbdc24cdea70b97d145f01c` | `::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/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1a77de523aaaead2fb8dd8f0e986658da7` | `::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |

| ### Public static functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1aac25faf1b0196c013dd15a734dfff860(StringPiece x)` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/fused-batch-norm-grad-v3/attrs#structtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1_1_attrs` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1af9b55d88aab36b4097c95894043abbce(float x)` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/fused-batch-norm-grad-v3/attrs#structtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1_1_attrs` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1a8813657a78778e681ff086d3cf07d94a(bool x)` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/fused-batch-norm-grad-v3/attrs#structtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3_1_1_attrs` |

| ### Structs ||
|---|---|
| [tensorflow::ops::FusedBatchNormGradV3::Attrs](https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/fused-batch-norm-grad-v3/attrs) | Optional attribute setters for [FusedBatchNormGradV3](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/fused-batch-norm-grad-v3#classtensorflow_1_1ops_1_1_fused_batch_norm_grad_v3). |

## Public attributes

### offset_backprop

```
::tensorflow::Output offset_backprop
```

### operation

```
Operation operation
```

### reserve_space_4

```
::tensorflow::Output reserve_space_4
```

### reserve_space_5

```
::tensorflow::Output reserve_space_5
```

### scale_backprop

```
::tensorflow::Output scale_backprop
```

### x_backprop

```
::tensorflow::Output x_backprop
```

## Public functions

### FusedBatchNormGradV3

```
 FusedBatchNormGradV3(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input y_backprop,
  ::tensorflow::Input x,
  ::tensorflow::Input scale,
  ::tensorflow::Input reserve_space_1,
  ::tensorflow::Input reserve_space_2,
  ::tensorflow::Input reserve_space_3
)
```

### FusedBatchNormGradV3

```
 FusedBatchNormGradV3(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input y_backprop,
  ::tensorflow::Input x,
  ::tensorflow::Input scale,
  ::tensorflow::Input reserve_space_1,
  ::tensorflow::Input reserve_space_2,
  ::tensorflow::Input reserve_space_3,
  const FusedBatchNormGradV3::Attrs & attrs
)
```

## Public static functions

### DataFormat

```
Attrs DataFormat(
  StringPiece x
)
```

### Epsilon

```
Attrs Epsilon(
  float x
)
```

### IsTraining

```
Attrs IsTraining(
  bool x
)
```