Skip to contents

Applies a 2D max pooling over an input signal composed of several input planes.

State

The state is the value calculated by the public method $shapes_out().

Credit

Part of this documentation have been copied or adapted from the documentation of torch.

Internals

Calls torch::nn_max_pool2d() during training.

Input and Output Channels

If return_indices is FALSE during construction, there is one input channel 'input' and one output channel 'output'. If return_indices is TRUE, there are two output channels 'output' and 'indices'. For an explanation see PipeOpTorch.

Parameters

  • kernel_size :: integer()
    The size of the window. Can be single number or a vector.

  • stride :: (integer(1))
    The stride of the window. Can be a single number or a vector. Default: kernel_size

  • padding :: integer()
    Implicit zero paddings on both sides of the input. Can be a single number or a tuple (padW,). Default: 0

  • dilation :: integer()
    Controls the spacing between the kernel points; also known as the à trous algorithm. Default: 1

  • ceil_mode :: logical(1)
    When True, will use ceil instead of floor to compute the output shape. Default: FALSE

Super classes

mlr3pipelines::PipeOp -> mlr3torch::PipeOpTorch -> mlr3torch::PipeOpTorchMaxPool -> PipeOpTorchMaxPool2D

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage

PipeOpTorchMaxPool2D$new(
  id = "nn_max_pool2d",
  return_indices = FALSE,
  param_vals = list()
)

Arguments

id

(character(1))
Identifier of the resulting object.

return_indices

(logical(1))
Whether to return the indices. If this is TRUE, there are two output channels "output" and "indices".

param_vals

(list())
List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction.


Method clone()

The objects of this class are cloneable with this method.

Usage

PipeOpTorchMaxPool2D$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Construct the PipeOp
pipeop = po("nn_max_pool2d")
pipeop
#> PipeOp: <nn_max_pool2d> (not trained)
#> values: <list()>
#> Input channels <name [train type, predict type]>:
#>   input [ModelDescriptor,Task]
#> Output channels <name [train type, predict type]>:
#>   output [ModelDescriptor,Task]
# The available parameters
pipeop$param_set
#> <ParamSet(5)>
#>             id    class lower upper nlevels        default  value
#>         <char>   <char> <num> <num>   <num>         <list> <list>
#> 1: kernel_size ParamUty    NA    NA     Inf <NoDefault[0]> [NULL]
#> 2:     padding ParamUty    NA    NA     Inf              0 [NULL]
#> 3:      stride ParamUty    NA    NA     Inf         [NULL] [NULL]
#> 4:    dilation ParamInt  -Inf   Inf     Inf              1 [NULL]
#> 5:   ceil_mode ParamLgl    NA    NA       2          FALSE [NULL]