Welcome to our Support Center

MaxPool2D

Description

Setup and add the max pooling 2D layer into the model during the definition graph step. Type : polymorphic.

 

Input parameters

 

Graph in : model architecture.

ย parameters : layer parameters.

ย sizeย :ย integer array, window size over which to take the maximum. (2, 2) will take the max value over a 2×2 pooling window. If only one integer is specified, the same window length will be used for both dimensions.
Default value “[2,2]”.
ย strideย :ย integer array, strides values. Specifies how far the pooling window moves for each pooling step.
Default value “[0,0]”.
ย paddingย :ย boolean,ย โ€œvalidโ€œorย โ€œsameโ€œ.ย โ€œ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.
Default value โ€œFalseโ€.
ย data_format :ย enum, one ofย channels_lastย orย channels_firstย (default) . The ordering of the dimensions in the inputs.ย channels_lastย corresponds to inputs with shapeย (batch, height, width, channels)ย whileย channels_firstย corresponds to inputs with shapeย (batch, channels, height, width).
Default value โ€œchannels_firstโ€.
ย training?ย :ย boolean, whether the layer is in training mode (can store data for backward).
Default value โ€œTrueโ€.
ย lda_coeff :ย float, defines the coefficient by which the loss derivative will be multiplied before being sent to the previous layer (since during the backward run we go backwards).
Default value โ€œ1โ€.

ย in/out paramย :

ย input_shapeย :ย integer array, shape (not including the batch axis). NB : To be used only if it is the first layer of the model.
ย output_behaviorย :ย enum, setup if the layer is an output layer.
Default โ€œNot Outputโ€โ€‹.

name (optional) : string, name of the layer.

 

Output parameters

 

Graph out : model architecture.

Dimension

Input shape

4D tensor with shape :

  • If data_format = โ€˜channels_lastโ€™ : (batch_size, rows, cols, channels).
  • If data_format = โ€˜channels_firstโ€™ : (batch_size, channels, rows, cols).

Output shape

4D tensor with shape :

  • If data_format = โ€˜channels_lastโ€™ : (batch_size, pooled_rows, pooled_cols, channels).
  • If data_format = โ€˜channels_firstโ€™ : (batch_size, channels, pooled_rows, pooled_cols).

Example

All these exemples are snippets PNG, you can drop these Snippet onto the block diagram and get the depicted code added to your VI (Do not forget to install HAIBAL library to run it).

MaxPool2D layer with explicit input layer

1 โ€“ Generate a set of data

We generate an array of data of type single and shape [batch size = 10, channels = 7, rows = 5, cols = 3].

2 โ€“ Define graph

First, we define the first layer of the graph which is an Input layer (explicit input layer method). This layer is setup as an input array shaped [channels = 7, rows = 5, cols = 3].
Then we add to the graph the MaxPool2D layer.

3 โ€“ Run graph

We call the forward method and retrieve the result with the โ€œPrediction 4Dโ€ method.
This method returns two variables, the first one is the layer information (cluster composed of the layer name, the graph index and the shape of the output layer) and the second one is the prediction with a shape of [batch_size, channels, pooled_rows, pooled_cols].

 

MaxPool2D layer with implicit input layer

1 โ€“ Generate a set of data

We generate an array of data of type single and shape [batch size = 10, channels = 7, rows = 5, cols = 3].

2 โ€“ Define graph

First, we define the MaxPool2D layer as the input layer of the graph (implicit input layer method). To do this, we send in the โ€œinput_shapeโ€ variable of the โ€œin/out paramโ€ cluster an array of shape [channels = 7, rows = 5, cols = 3].
An input layer will be implicitly created and the name of this input layer will be the same name as its parent prefixed with โ€œinput_โ€.
Then we add to the graph the MaxPool2D layer.

3 โ€“ Run graph

We call the forward method and retrieve the result with the โ€œPrediction 4Dโ€ method.
This method returns two variables, the first one is the layer information (cluster composed of the layer name, the graph index and the shape of the output layer) and the second one is the prediction with a shape of [batch_size, channels, pooled_rows, pooled_cols].

 

MaxPool2D layer, batch and dimension

1 โ€“ Generate a set of data

We generate an array of data of type single and shape [number of batch = 9, batch size = 10, channels = 7, rows = 5, cols = 3].

2 โ€“ Define graph

First, we define the first layer of the graph which is an Input layer (explicit input layer method). This layer is setup as an input array shaped [channels = 7, rows = 5, cols = 3].
Then we add to the graph the MaxPool2D layer.

3 โ€“ Run graph

We call the forward method and retrieve the result with the โ€œPrediction 4Dโ€ method.
This method returns two variables, the first one is the layer information (cluster composed of the layer name, the graph index and the shape of the output layer) and the second one is the prediction with a shape of [batch_size, channels, pooled_rows, pooled_cols].

 

Table of Contents