Base class for merge operations such as addition (PipeOpTorchMergeSum
), multiplication
(PipeOpTorchMergeProd
or concatenation (PipeOpTorchMergeCat
).
Input and Output Channels
PipeOpTorchMerge
s has either a vararg input channel if the constructor argument innum
is not set, or
input channels "input1"
, ..., "input<innum>"
. There is one output channel "output"
.
For an explanation see PipeOpTorch
.
Internals
Per default, the private$.shapes_out()
method outputs the broadcasted tensors. There are two things to be aware:
NA
s are assumed to batch (this should almost always be the batch size in the first dimension).Tensors are expected to have the same number of dimensions, i.e. missing dimensions are not filled with 1s. The reason is that again that the first dimension should be the batch dimension. This private method can be overwritten by
PipeOpTorch
s inheriting from this class.
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_conv2d
,
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_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
-> PipeOpTorchMerge
Methods
Method new()
Creates a new instance of this R6 class.
Usage
PipeOpTorchMerge$new(
id,
module_generator,
param_set = ps(),
innum = 0,
param_vals = list()
)
Arguments
id
(
character(1)
)
Identifier of the resulting object.module_generator
(
nn_module_generator
)
The torch module generator.param_set
(
ParamSet
)
The parameter set.innum
(
integer(1)
)
The number of inputs. Default is 0 which means there is one vararg input channel.param_vals
(
list()
)
List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction.