Skip to contents

Applies a 2D convolution over an input image composed of several input planes.

Input and Output Channels

One input channel called "input" and one output channel called "output". For an explanation see PipeOpTorch.

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_conv2d() when trained. The paramter in_channels is inferred from the second dimension of the input tensor.

Parameters

  • out_channels :: integer(1)
    Number of channels produced by the convolution.

  • kernel_size :: integer()
    Size of the convolving kernel.

  • stride :: integer()
    Stride of the convolution. The default is 1.

  • padding :: integer()
    ‘dilation * (kernel_size - 1) - padding’ zero-padding will be added to both sides of the input. Default: 0.

  • groups :: integer()
    Number of blocked connections from input channels to output channels. Default: 1

  • bias :: logical(1)
    If ‘TRUE’, adds a learnable bias to the output. Default: ‘TRUE’.

  • dilation :: integer()
    Spacing between kernel elements. Default: 1.

  • padding_mode :: character(1)
    The padding mode. One of "zeros", "reflect", "replicate", or "circular". Default is "zeros".

See also

Other PipeOps: mlr_pipeops_nn_adaptive_avg_pool1d, mlr_pipeops_nn_adaptive_avg_pool2d, mlr_pipeops_nn_adaptive_avg_pool3d, mlr_pipeops_nn_avg_pool1d, mlr_pipeops_nn_avg_pool2d, mlr_pipeops_nn_avg_pool3d, mlr_pipeops_nn_batch_norm1d, mlr_pipeops_nn_batch_norm2d, mlr_pipeops_nn_batch_norm3d, mlr_pipeops_nn_block, mlr_pipeops_nn_celu, mlr_pipeops_nn_conv1d, mlr_pipeops_nn_conv3d, mlr_pipeops_nn_conv_transpose1d, mlr_pipeops_nn_conv_transpose2d, mlr_pipeops_nn_conv_transpose3d, mlr_pipeops_nn_dropout, mlr_pipeops_nn_elu, mlr_pipeops_nn_flatten, mlr_pipeops_nn_gelu, mlr_pipeops_nn_glu, mlr_pipeops_nn_hardshrink, mlr_pipeops_nn_hardsigmoid, mlr_pipeops_nn_hardtanh, mlr_pipeops_nn_head, mlr_pipeops_nn_layer_norm, mlr_pipeops_nn_leaky_relu, mlr_pipeops_nn_linear, mlr_pipeops_nn_log_sigmoid, mlr_pipeops_nn_max_pool1d, mlr_pipeops_nn_max_pool2d, mlr_pipeops_nn_max_pool3d, mlr_pipeops_nn_merge, mlr_pipeops_nn_merge_cat, mlr_pipeops_nn_merge_prod, mlr_pipeops_nn_merge_sum, mlr_pipeops_nn_prelu, mlr_pipeops_nn_relu, mlr_pipeops_nn_relu6, mlr_pipeops_nn_reshape, mlr_pipeops_nn_rrelu, mlr_pipeops_nn_selu, mlr_pipeops_nn_sigmoid, mlr_pipeops_nn_softmax, mlr_pipeops_nn_softplus, mlr_pipeops_nn_softshrink, mlr_pipeops_nn_softsign, mlr_pipeops_nn_squeeze, mlr_pipeops_nn_tanh, mlr_pipeops_nn_tanhshrink, mlr_pipeops_nn_threshold, mlr_pipeops_nn_unsqueeze, mlr_pipeops_torch_ingress, mlr_pipeops_torch_ingress_categ, mlr_pipeops_torch_ingress_ltnsr, mlr_pipeops_torch_ingress_num, mlr_pipeops_torch_loss, mlr_pipeops_torch_model, mlr_pipeops_torch_model_classif, mlr_pipeops_torch_model_regr

Super classes

mlr3pipelines::PipeOp -> mlr3torch::PipeOpTorch -> mlr3torch::PipeOpTorchConv -> PipeOpTorchConv2D

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage

PipeOpTorchConv2D$new(id = "nn_conv2d", param_vals = list())

Arguments

id

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

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

PipeOpTorchConv2D$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Construct the PipeOp
pipeop = po("nn_conv2d", kernel_size = 10, out_channels = 1)
pipeop
#> PipeOp: <nn_conv2d> (not trained)
#> values: <out_channels=1, kernel_size=10>
#> 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(8)>
#>              id    class lower upper nlevels        default  value
#>          <char>   <char> <num> <num>   <num>         <list> <list>
#> 1: out_channels ParamInt     1   Inf     Inf <NoDefault[0]>      1
#> 2:  kernel_size ParamUty    NA    NA     Inf <NoDefault[0]>     10
#> 3:       stride ParamUty    NA    NA     Inf              1 [NULL]
#> 4:      padding ParamUty    NA    NA     Inf              0 [NULL]
#> 5:     dilation ParamUty    NA    NA     Inf              1 [NULL]
#> 6:       groups ParamInt     1   Inf     Inf              1 [NULL]
#> 7:         bias ParamLgl    NA    NA       2           TRUE [NULL]
#> 8: padding_mode ParamFct    NA    NA       4          zeros [NULL]