MaxPooling1DLayer - 1-D max pooling layer - MATLAB (original) (raw)

1-D max pooling layer

Since R2021b

Description

A 1-D max pooling layer performs downsampling by dividing the input into 1-D pooling regions, then computing the maximum of each region.

The dimension that the layer pools over depends on the layer input:

Creation

Syntax

Description

`layer` = maxPooling1dLayer([poolSize](#mw%5F2e5b91b0-3a39-4b45-ac95-a4575fd642f7)) creates a 1-D max pooling layer and sets the PoolSize property.

`layer` = maxPooling1dLayer([poolSize](#mw%5F2e5b91b0-3a39-4b45-ac95-a4575fd642f7),[Name=Value](#namevaluepairarguments)) sets optional properties using one or more name-value arguments.

example

Input Arguments

expand all

Width of the pooling regions, specified as a positive integer.

The width of the pooling regions poolSize must be greater than or equal to the padding dimensionsPaddingSize.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Name-Value Arguments

expand all

Specify optional pairs of arguments asName1=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.

Example: maxPooling1dLayer(3,Stride=2) creates a 1-D max pooling layer with a pool size of 3 and stride2.

Step size for traversing the input, specified as a positive integer.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Padding to apply to the input, specified as one of the following:

Example: Padding=[2 1] adds padding of size 2 to the left and size 1 to the right.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

Layer name, specified as a character vector or a string scalar. For Layer array input, the trainnet and dlnetwork functions automatically assign names to layers with the name "".

This argument sets the Name property.

Data Types: char | string

Properties

expand all

Max Pooling

Width of the pooling regions, specified as a positive integer.

The width of the pooling regions PoolSize must be greater than or equal to the padding dimensions PaddingSize.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Step size for traversing the input, specified as a positive integer.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Size of padding to apply to each side of the input, specified as a vector [l r] of two nonnegative integers, where l is the padding applied to the left and r is the padding applied to the right.

When you create a layer, use the Padding name-value argument to specify the padding size.

Data Types: double

This property is read-only.

Method to determine padding size, specified as one of the following:

To specify the layer padding, use the Padding name-value argument.

Data Types: char

Layer

Data Types: char | string

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

collapse all

Create a 1-D max pooling layer with a pool size of 3.

layer = maxPooling1dLayer(3);

Include a 1-D max pooling layer in a layer array.

layers = [ sequenceInputLayer(12,MinLength=40) convolution1dLayer(11,96) reluLayer maxPooling1dLayer(3) convolution1dLayer(11,96) reluLayer globalMaxPooling1dLayer fullyConnectedLayer(10) softmaxLayer]

layers = 9×1 Layer array with layers:

 1   ''   Sequence Input           Sequence input with 12 dimensions
 2   ''   1-D Convolution          96 11 convolutions with stride 1 and padding [0  0]
 3   ''   ReLU                     ReLU
 4   ''   1-D Max Pooling          Max pooling with pool size 3, stride 1, and padding [0  0]
 5   ''   1-D Convolution          96 11 convolutions with stride 1 and padding [0  0]
 6   ''   ReLU                     ReLU
 7   ''   1-D Global Max Pooling   1-D global max pooling
 8   ''   Fully Connected          10 fully connected layer
 9   ''   Softmax                  softmax

Algorithms

expand all

A 1-D max pooling layer performs downsampling by dividing the input into 1-D pooling regions, then computing the maximum of each region. The layer pools the input by moving the pooling regions along the input horizontally.

The dimension that the layer pools over depends on the layer input:

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:

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 withdlnetwork objects.

This table shows the supported input formats of MaxPooling1DLayer 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 aFunctionLayer 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
"SCB" (spatial, channel, batch) "SCB" (spatial, channel, batch)
"CBT" (channel, batch, time) "CB" (channel, batch)
"SCBT" (spatial, channel, batch, time) "SCBT" (spatial, channel, batch, time)
"SB" (spatial, batch) "SB" (spatial, batch)

In dlnetwork objects, MaxPooling1DLayer objects also support these input and output format combinations.

Input Format Output Format
"SC" (spatial, channel) "SC" (spatial, channel)
"CT" (channel, time) "CT" (channel, time)
"SCT" (spatial, channel, time) "SCT" (spatial, channel, time)
"BT" (batch, time) "BT" (batch, time)
"SBT" (spatial, batch, time) "SBT" (spatial, batch, time)

Extended Capabilities

expand all

Usage notes and limitations:

Usage notes and limitations:

Version History

Introduced in R2021b