average pooling operation for 3d data spatial or spatiotemporal downsamples the input along its spatial dimensions depth height and width by taking the average value over an input window of size defined by poolsize for each channel of the input the window is shifted by strides along each dimension args poolsize int or tuple of 3 integers factors by which to downscale dim1 dim2 dim3 if only one integer is specified the same window length will be used for all dimensions strides int or tuple of 3 integers or none strides values if none it will default to poolsize if only one int is specified the same stride size will be used for all dimensions padding string either valid or same caseinsensitive valid means no padding same results in padding evenly to the leftright or updown of the input such that output has the same heightwidth dimension as the input dataformat string either channelslast or channelsfirst the ordering of the dimensions in the inputs channelslast corresponds to inputs with shape batch spatialdim1 spatialdim2 spatialdim3 channels while channelsfirst corresponds to inputs with shape batch channels spatialdim1 spatialdim2 spatialdim3 it defaults to the imagedataformat value found in your keras config file at keraskeras json if you never set it then it will be channelslast input shape if dataformatchannelslast 5d tensor with shape batchsize spatialdim1 spatialdim2 spatialdim3 channels if dataformatchannelsfirst 5d tensor with shape batchsize channels spatialdim1 spatialdim2 spatialdim3 output shape if dataformatchannelslast 5d tensor with shape batchsize pooleddim1 pooleddim2 pooleddim3 channels if dataformatchannelsfirst 5d tensor with shape batchsize channels pooleddim1 pooleddim2 pooleddim3 example python depth 30 height 30 width 30 channels 3 inputs keras layers inputshapedepth height width channels layer keras layers averagepooling3dpoolsize3 outputs layerinputs shape batchsize 10 10 10 3 average pooling operation for 3d data spatial or spatio temporal downsamples the input along its spatial dimensions depth height and width by taking the average value over an input window of size defined by pool_size for each channel of the input the window is shifted by strides along each dimension args pool_size int or tuple of 3 integers factors by which to downscale dim1 dim2 dim3 if only one integer is specified the same window length will be used for all dimensions strides int or tuple of 3 integers or none strides values if none it will default to pool_size if only one int is specified the same stride size will be used for all dimensions padding string either valid or same case insensitive valid means no padding same results in padding evenly to the left right or up down of the input such that output has the same height width dimension as the input data_format string either channels_last or channels_first the ordering of the dimensions in the inputs channels_last corresponds to inputs with shape batch spatial_dim1 spatial_dim2 spatial_dim3 channels while channels_first corresponds to inputs with shape batch channels spatial_dim1 spatial_dim2 spatial_dim3 it defaults to the image_data_format value found in your keras config file at keras keras json if you never set it then it will be channels_last input shape if data_format channels_last 5d tensor with shape batch_size spatial_dim1 spatial_dim2 spatial_dim3 channels if data_format channels_first 5d tensor with shape batch_size channels spatial_dim1 spatial_dim2 spatial_dim3 output shape if data_format channels_last 5d tensor with shape batch_size pooled_dim1 pooled_dim2 pooled_dim3 channels if data_format channels_first 5d tensor with shape batch_size channels pooled_dim1 pooled_dim2 pooled_dim3 example python depth 30 height 30 width 30 channels 3 inputs keras layers input shape depth height width channels layer keras layers averagepooling3d pool_size 3 outputs layer inputs shape batch_size 10 10 10 3
from keras.api_export import keras_export
from keras.layers.pooling.base_pooling import BasePooling


@keras_export(["keras.layers.AveragePooling3D", "keras.layers.AvgPool3D"])
class AveragePooling3D(BasePooling):
    

    def __init__(
        self,
        pool_size,
        strides=None,
        padding="valid",
        data_format="channels_last",
        name=None,
        **kwargs
    ):
        super().__init__(
            pool_size,
            strides,
            pool_dimensions=3,
            pool_mode="average",
            padding=padding,
            data_format=data_format,
            name=name,
            **kwargs,
        )