averagePooling3dLayer
3-D average pooling layer
Description
A 3-D average pooling layer performs downsampling by dividing three-dimensional input into cuboidal pooling regions, then computing the average values of each region.
The dimensions that the layer pools over depends on the layer input:
- For 3-D image input (data with five dimensions corresponding to pixels in three spatial dimensions, the channels, and the observations), the layer pools over the spatial dimensions. 
- For 3-D image sequence input (data with six dimensions corresponding to the pixels in three spatial dimensions, the channels, the observations, and the time steps), the layer pools over the spatial dimensions. 
- For 2-D image sequence input (data with five dimensions corresponding to the pixels in two spatial dimensions, the channels, the observations, and the time steps), the layer pools over the spatial and time dimensions. 
Creation
Description
layer = averagePooling3dLayer(poolSize)PoolSize property.
layer = averagePooling3dLayer(poolSize,Name=Value)Stride and Name properties
          using name-value arguments. To specify input padding, use the Padding
          name-value argument. For example, averagePooling3dLayer(2,Stride=2)
          creates a 3-D average pooling layer with pool size [2 2 2] and stride
            [2 2 2]. You can specify multiple name-value arguments.
Name-Value Arguments
Specify optional pairs of arguments as
      Name1=Value1,...,NameN=ValueN, where Name is
      the argument name and Value is the corresponding value.
      Name-value arguments must appear after other arguments, but the order of the
      pairs does not matter.
    
      Before R2021a, use commas to separate each name and value, and enclose 
      Name in quotes.
    
Example: averagePooling3dLayer(2,Stride=2) creates a 3-D average
          pooling layer with pool size [2 2 2] and stride [2 2
            2].
Input edge padding, specified as one of these values:
- "same"— Add padding of size calculated by the software at training or prediction time so that the output has the same size as the input when the stride equals 1. If the stride is larger than 1, then the output size is- ceil(inputSize/stride), where- inputSizeis the height, width, or depth of the input and- strideis the stride in the corresponding dimension. The software adds the same amount of padding to the top and bottom, to the left and right, and to the front and back, if possible. If the padding in a given dimension has an odd value, then the software adds the extra padding to the input as postpadding. In other words, the software adds extra vertical padding to the bottom, extra horizontal padding to the right, and extra depth padding to the back of the input.
- Nonnegative integer - p— Add padding of size- pto all the edges of the input.
- Three-element vector - [a b c]of nonnegative integers — Add padding of size- ato the top and bottom, padding of size- bto the left and right, and padding of size- cto the front and back of the input.
- 2-by-3 matrix - [t l f;b r k]of nonnegative integers — Add padding of size- tto the top,- bto the bottom,- lto the left,- rto the right,- fto the front, and- kto the back of the input. In other words, the top row specifies the prepadding and the second row defines the postpadding in the three dimensions.
Example: 
            Padding=1 adds one row of padding to the top and bottom, one column
            of padding to the left and right, and one plane of padding to the front and back of the
            input.
Example: 
            Padding="same" adds padding so that the output has the same size as
            the input (if the stride equals 1).
Properties
Average Pooling
Dimensions of the pooling regions, specified as a vector of three positive integers
                [h w d], where h is the height,
                w is the width, and d is the depth. When
            creating the layer, you can specify PoolSize as a scalar to use the
            same value for all three dimensions.
If the stride dimensions Stride are less than the respective
            pooling dimensions, then the pooling regions overlap.
The padding dimensions PaddingSize must be less than the pooling
            region dimensions PoolSize.
Example: 
            [2 1 1] specifies pooling regions of height 2, width 1, and depth
            1.
Step size for traversing the input in three dimensions, specified as a vector
                [a b c] of three positive integers, where a is
            the vertical step size, b is the horizontal step size, and
                c is the step size along the depth direction. When creating the
            layer, you can specify Stride as a scalar to use the same value for
            step sizes in all three directions.
If the stride dimensions Stride are less than the respective
            pooling dimensions, then the pooling regions overlap.
The padding dimensions PaddingSize must be less than the pooling
            region dimensions PoolSize.
Example: 
            [2 3 1] specifies a vertical step size of 2, a horizontal step size
            of 3, and a step size along the depth of 1.
Size of padding to apply to input borders, specified as 2-by-3 matrix
                                                [t l f;b r k] of nonnegative
                                    integers, where t and b
                                    are the padding applied to the top and bottom in the vertical
                                    direction, l and r are the
                                    padding applied to the left and right in the horizontal
                                    direction, and f and k are
                                    the padding applied to the front and back along the depth. In
                                    other words, the top row specifies the prepadding and the second
                                    row defines the postpadding in the three dimensions.
When you create a layer, use the Padding
                                    name-value argument to specify the padding size.
Example: 
                                    [1 2 4; 1 2 4] adds one row of padding to the
                                    top and bottom, two columns of padding to the left and right,
                                    and four planes of padding to the front and back of the
                                    input.
Method to determine padding size, specified as "manual" or
                "same". 
The software automatically sets the value of PaddingMode based on the Padding argument value you specify when creating a layer.
- If you set the - Paddingargument to a scalar or a vector of nonnegative integers, then the software automatically sets- PaddingModeto- "manual".
- If you set the - Paddingargument to- "same", then the software automatically sets- PaddingModeto- "same"and calculates the size of the padding at training time so that the output has the same size as the input when the stride equals 1. If the stride is larger than 1, then the output size is- ceil(inputSize/stride), where- inputSizeis the height, width, or depth of the input and- strideis the stride in the corresponding dimension. The software adds the same amount of padding to the top and bottom, to the left and right, and to the front and back, if possible. If the padding in a given dimension has an odd value, then the software adds the extra padding to the input as postpadding. In other words, the software adds extra vertical padding to the bottom, extra horizontal padding to the right, and extra depth padding to the back of the input.
The AveragePooling3DLayer object stores this property as a character vector.
Value used to pad input, specified as 0 or
            "mean".
When you use the Padding option to add padding to the input, the value of
            the padding applied can be one of the following:
- 0— Input is padded with zeros at the positions specified by the- Paddingproperty. The padded areas are included in the calculation of the average value of the pooling regions along the edges.
- "mean"— Input is padded with the mean of the pooling region at the positions specified by the- Paddingoption. The padded areas are effectively excluded from the calculation of the average value of each pooling region.
Layer
This property is read-only.
Number of inputs to the layer, stored as 1. This layer accepts a
            single input only.
Data Types: double
This property is read-only.
Input names, stored as {'in'}. This layer accepts a single input
            only.
Data Types: cell
This property is read-only.
Number of outputs from the layer, stored as 1. This layer has a
            single output only.
Data Types: double
This property is read-only.
Output names, stored as {'out'}. This layer has a single output
            only.
Data Types: cell
Examples
Create a 3-D average pooling layer with nonoverlapping pooling regions that downsamples by a factor of 2.
layer = averagePooling3dLayer(2,Stride=2)
layer = 
  AveragePooling3DLayer with properties:
            Name: ''
   Hyperparameters
        PoolSize: [2 2 2]
          Stride: [2 2 2]
     PaddingMode: 'manual'
     PaddingSize: [2×3 double]
    PaddingValue: 0
Include a 3-D average pooling layer in a Layer array.
layers = [ ...
    image3dInputLayer([28 28 28 3])
    convolution3dLayer(5,20)
    reluLayer
    averagePooling3dLayer(2,Stride=2)
    fullyConnectedLayer(10)
    softmaxLayer]layers = 
  6×1 Layer array with layers:
     1   ''   3-D Image Input       28×28×28×3 images with 'zerocenter' normalization
     2   ''   3-D Convolution       20 5×5×5 convolutions with stride [1  1  1] and padding [0  0  0; 0  0  0]
     3   ''   ReLU                  ReLU
     4   ''   3-D Average Pooling   2×2×2 average pooling with stride [2  2  2] and padding [0  0  0; 0  0  0]
     5   ''   Fully Connected       10 fully connected layer
     6   ''   Softmax               softmax
Create a 3-D average pooling layer with overlapping pooling regions and padding for the top and bottom of the input.
layer = averagePooling3dLayer([3 2 2],Stride=2,Padding=[1 0 0])
layer = 
  AveragePooling3DLayer with properties:
            Name: ''
   Hyperparameters
        PoolSize: [3 2 2]
          Stride: [2 2 2]
     PaddingMode: 'manual'
     PaddingSize: [2×3 double]
    PaddingValue: 0
This layer creates pooling regions of size 3-by-2-by-2 and takes the average of the twelve elements in each region. The stride is 2 in all dimensions. The pooling regions overlap because there are stride dimensions Stride that are less than the respective pooling dimensions PoolSize.
Algorithms
A 3-D average pooling layer extends the functionality of an average
        pooling layer to a third dimension, depth. An average pooling layer performs down-sampling
        by dividing the input into rectangular or cuboidal pooling regions, and computing the
        average of each region. To learn more, see the 2-D Average Pooling Layer section of the averagePooling2dLayer reference page.
The dimensions that the layer pools over depends on the layer input:
- For 3-D image input (data with five dimensions corresponding to pixels in three spatial dimensions, the channels, and the observations), the layer pools over the spatial dimensions. 
- For 3-D image sequence input (data with six dimensions corresponding to the pixels in three spatial dimensions, the channels, the observations, and the time steps), the layer pools over the spatial dimensions. 
- For 2-D image sequence input (data with five dimensions corresponding to the pixels in two spatial dimensions, the channels, the observations, and the time steps), the layer pools over the spatial and time dimensions. 
Layers in a layer array or layer graph pass data to subsequent layers as formatted dlarray objects.
        The format of a dlarray object is a string of characters in which each
        character describes the corresponding dimension of the data. The format consists of one or
        more of these characters:
- "S"— Spatial
- "C"— Channel
- "B"— Batch
- "T"— Time
- "U"— Unspecified
For example, you can describe 2-D image data that is represented as a 4-D array, where the
                first two dimensions correspond to the spatial dimensions of the images, the third
                dimension corresponds to the channels of the images, and the fourth dimension
                corresponds to the batch dimension, as having the format "SSCB"
                (spatial, spatial, channel, batch).
You can interact with these dlarray objects in automatic differentiation
        workflows, such as those for developing a custom layer, using a functionLayer
        object, or using the forward and predict functions with
            dlnetwork objects.
This table shows the supported input formats of AveragePooling3DLayer objects and the
        corresponding output format. If the software passes the output of the layer to a custom
        layer that does not inherit from the nnet.layer.Formattable class, or a
            FunctionLayer object with the Formattable property
        set to 0 (false), then the layer receives an
        unformatted dlarray object with dimensions ordered according to the formats
        in this table. The formats listed here are only a subset. The layer may support additional
        formats such as formats with additional "S" (spatial) or
            "U" (unspecified) dimensions.
| Input Format | Output Format | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
In dlnetwork objects, AveragePooling3DLayer objects also support
        these input and output format combinations.
| Input Format | Output Format | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
Version History
Introduced in R2019a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)