# tensorflow::ops::Conv2DBackpropInput

`#include <nn_ops.h>`

Computes the gradients of convolution with respect to the input.

## Summary

Arguments:

- scope: A [Scope](https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- input_sizes: An integer vector representing the shape of `input`, where `input` is a 4-D `[batch, height, width, channels]` tensor.
- filter: 4-D with shape `[filter_height, filter_width, in_channels, out_channels]`.
- out_backprop: 4-D with shape `[batch, out_height, out_width, out_channels]`. Gradients w.r.t. the output of the convolution.
- strides: The stride of the sliding window for each dimension of the input of the convolution. Must be in the same order as the dimension specified with format.
- padding: The type of padding algorithm to use.

<br />

Optional attributes (see `https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/conv2-d-backprop-input/attrs#structtensorflow_1_1ops_1_1_conv2_d_backprop_input_1_1_attrs`):

- explicit_paddings: If `padding` is `"EXPLICIT"`, the list of explicit padding amounts. For the ith dimension, the amount of padding inserted before and after the dimension is `explicit_paddings[2 * i]` and `explicit_paddings[2 * i + 1]`, respectively. If `padding` is not `"EXPLICIT"`, `explicit_paddings` must be empty.
- 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\].
- dilations: 1-D tensor of length 4. The dilation factor for each dimension of `input`. If set to k \> 1, there will be k-1 skipped cells between each filter element on that dimension. The dimension order is determined by the value of `data_format`, see above for details. Dilations in the batch and depth dimensions must be 1.

<br />

Returns:

- `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output`: 4-D with shape `[batch, in_height, in_width, in_channels]`. Gradient w.r.t. the input of the convolution.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1aa5357992b64dbb43b51d35c084d442d8(const ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input input_sizes, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input filter, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input out_backprop, const gtl::ArraySlice< int > & strides, StringPiece padding)` ||
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1a01da97aaaf681a4f6f45d3bda57f0f82(const ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input input_sizes, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input filter, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input out_backprop, const gtl::ArraySlice< int > & strides, StringPiece padding, const https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/conv2-d-backprop-input/attrs#structtensorflow_1_1ops_1_1_conv2_d_backprop_input_1_1_attrs & attrs)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1aebb0f66b81bb602fa8600e2e32f621b2` | `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1a53bf3bf2eb2af62764981f62c794fbe2` | `::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |

| ### Public functions ||
|---|---|
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1acf62af3e404315cfe9622e3d1295033b() const ` | `::tensorflow::Node *` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1a94315c7d6148fb6451deb58f91955405() const ` | ` `` ` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1a1bced60701935dddacef1af9398879df() const ` | ` `` ` |

| ### Public static functions ||
|---|---|
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1ac762988224740afda86e2a852ef11774(StringPiece x)` | `https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/conv2-d-backprop-input/attrs#structtensorflow_1_1ops_1_1_conv2_d_backprop_input_1_1_attrs` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1a01b3b905a6bba3d7c7e61238d45109e4(const gtl::ArraySlice< int > & x)` | `https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/conv2-d-backprop-input/attrs#structtensorflow_1_1ops_1_1_conv2_d_backprop_input_1_1_attrs` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1a4f19fe8f8ae4c3b237038489ba58a721(const gtl::ArraySlice< int > & x)` | `https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/conv2-d-backprop-input/attrs#structtensorflow_1_1ops_1_1_conv2_d_backprop_input_1_1_attrs` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input_1a6df425d872077ec66d9eb2e2b42f767b(bool x)` | `https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/conv2-d-backprop-input/attrs#structtensorflow_1_1ops_1_1_conv2_d_backprop_input_1_1_attrs` |

| ### Structs ||
|---|---|
| [tensorflow::ops::Conv2DBackpropInput::Attrs](https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/conv2-d-backprop-input/attrs) | Optional attribute setters for [Conv2DBackpropInput](https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/conv2-d-backprop-input#classtensorflow_1_1ops_1_1_conv2_d_backprop_input). |

## Public attributes

### operation

```
Operation operation
```

### output

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

## Public functions

### Conv2DBackpropInput

```
 Conv2DBackpropInput(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input_sizes,
  ::tensorflow::Input filter,
  ::tensorflow::Input out_backprop,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding
)
```

### Conv2DBackpropInput

```
 Conv2DBackpropInput(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input_sizes,
  ::tensorflow::Input filter,
  ::tensorflow::Input out_backprop,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding,
  const Conv2DBackpropInput::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
)
```

### Dilations

```
Attrs Dilations(
  const gtl::ArraySlice< int > & x
)
```

### ExplicitPaddings

```
Attrs ExplicitPaddings(
  const gtl::ArraySlice< int > & x
)
```

### UseCudnnOnGpu

```
Attrs UseCudnnOnGpu(
  bool x
)
```