# tf.compat.v1.layers.average_pooling3d

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.14.0/keras/legacy_tf_layers/pooling.py#L743-L830) |

Average pooling layer for 3D inputs (e.g. volumes).

    tf.compat.v1.layers.average_pooling3d(
        inputs,
        pool_size,
        strides,
        padding='valid',
        data_format='channels_last',
        name=None
    )

<br />

## Migrate to TF2

<br />

> [!CAUTION]
> **Caution:** This API was designed for TensorFlow v1. Continue reading for details on how to migrate from this API to a native TensorFlow v2 equivalent. See the [TensorFlow v1 to TensorFlow v2 migration guide](https://www.tensorflow.org/guide/migrate) for instructions on how to migrate the rest of your code.

This API is a legacy api that is only compatible with eager execution and
[`tf.function`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/function) if you combine it with
`tf.compat.v1.keras.utils.track_tf1_style_variables`

Please refer to [tf.layers model mapping section of the migration guide](https://www.tensorflow.org/guide/migrate/model_mapping)
to learn how to use your TensorFlow v1 model in TF2 with Keras.

The corresponding TensorFlow v2 layer is
[`tf.keras.layers.AveragePooling3D`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/keras/layers/AveragePooling3D).

#### Structural Mapping to Native TF2

None of the supported arguments have changed name.

Before:

     y = tf.compat.v1.layers.average_pooling3d(x, pool_size=2, strides=2)

After:

To migrate code using TF1 functional layers use the [Keras Functional API](https://www.tensorflow.org/guide/keras/functional):

     x = tf.keras.Input((28, 28, 1))
     y = tf.keras.layers.AveragePooling3D(pool_size=2, strides=2)(x)
     model = tf.keras.Model(x, y)

<br />

<br />

## Description

<br />

<br />

<br />

| ## Args ||
|---|---|
| `inputs` | The tensor over which to pool. Must have rank 5. |
| `pool_size` | An integer or tuple/list of 3 integers: (pool_depth, pool_height, pool_width) specifying the size of the pooling window. Can be a single integer to specify the same value for all spatial dimensions. |
| `strides` | An integer or tuple/list of 3 integers, specifying the strides of the pooling operation. Can be a single integer to specify the same value for all spatial dimensions. |
| `padding` | A string. The padding method, either 'valid' or 'same'. Case-insensitive. |
| `data_format` | A string. The ordering of the dimensions in the inputs. `channels_last` (default) and `channels_first` are supported. `channels_last` corresponds to inputs with shape `(batch, depth, height, width, channels)` while `channels_first` corresponds to inputs with shape `(batch, channels, depth, height, width)`. |
| `name` | A string, the name of the layer. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| Output tensor. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `ValueError` | if eager execution is enabled. |

<br />