# tensorflow::ops::MaxPoolGradGrad

`#include <nn_ops.h>`

Computes second-order gradients of the maxpooling function.

## Summary

Arguments:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- orig_input: The original input tensor.
- orig_output: The original output tensor.
- grad: 4-D. Gradients of gradients w.r.t. the input of `max_pool`.
- ksize: The size of the window for each dimension of the input tensor.
- strides: The stride of the sliding window for each dimension of the input tensor.
- padding: The type of padding algorithm to use.

<br />

Optional attributes (see `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/max-pool-grad-grad/attrs#structtensorflow_1_1ops_1_1_max_pool_grad_grad_1_1_attrs`):

- data_format: Specify the data format of the input and output data. With the default format "NHWC", the data is stored in the order of: \[batch, in_height, in_width, in_channels\]. Alternatively, the format could be "NCHW", the data storage order of: \[batch, in_channels, in_height, in_width\].

<br />

Returns:

- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output`: Gradients of gradients w.r.t. the input to `max_pool`.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad_1a624a485e1ee030cfb203f5767164e05d(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 orig_input, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input orig_output, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input grad, const gtl::ArraySlice< int > & ksize, const gtl::ArraySlice< int > & strides, StringPiece padding)` ||
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad_1a105790392c03a29e7a1a93c4a25f1065(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 orig_input, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input orig_output, ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input grad, const gtl::ArraySlice< int > & ksize, const gtl::ArraySlice< int > & strides, StringPiece padding, const https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/max-pool-grad-grad/attrs#structtensorflow_1_1ops_1_1_max_pool_grad_grad_1_1_attrs & attrs)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad_1aaced190ad09e9b1e03ba1758d3846c59` | `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/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad_1a1db2508c1fc12d0bbbaf034e1332e8e9` | `::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |

| ### Public functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad_1a0a817f73310d28bd0344cba01c80d9eb() const ` | `::tensorflow::Node *` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad_1aa9cf85f8e08191a34aec8a97b5c7d7b5() const ` | ` `` ` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad_1a85951360272d8bcb3d56b273d5e3a06a() const ` | ` `` ` |

| ### Public static functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad_1a2595c027a5b997820e1f11301e2f8e5b(StringPiece x)` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/max-pool-grad-grad/attrs#structtensorflow_1_1ops_1_1_max_pool_grad_grad_1_1_attrs` |

| ### Structs ||
|---|---|
| [tensorflow::ops::MaxPoolGradGrad::Attrs](https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/max-pool-grad-grad/attrs) | Optional attribute setters for [MaxPoolGradGrad](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/max-pool-grad-grad#classtensorflow_1_1ops_1_1_max_pool_grad_grad). |

## Public attributes

### operation

```
Operation operation
```

### output

```
::tensorflow::Output output
```

## Public functions

### MaxPoolGradGrad

```
 MaxPoolGradGrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input orig_input,
  ::tensorflow::Input orig_output,
  ::tensorflow::Input grad,
  const gtl::ArraySlice< int > & ksize,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding
)
```

### MaxPoolGradGrad

```
 MaxPoolGradGrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input orig_input,
  ::tensorflow::Input orig_output,
  ::tensorflow::Input grad,
  const gtl::ArraySlice< int > & ksize,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding,
  const MaxPoolGradGrad::Attrs & attrs
)
```

### node

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

### operator::tensorflow::Input

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

### operator::tensorflow::Output

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

## Public static functions

### DataFormat

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