Skip to contents

Configures the loss of a deep learning model.

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().

Parameters

The parameters are defined dynamically from the loss set during construction.

Internals

During training the loss is cloned and added to the ModelDescriptor.

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, 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_model, mlr_pipeops_torch_model_classif, mlr_pipeops_torch_model_regr

Other Model Configuration: ModelDescriptor(), mlr_pipeops_torch_callbacks, mlr_pipeops_torch_optimizer, model_descriptor_union()

Super class

mlr3pipelines::PipeOp -> PipeOpTorchLoss

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage

PipeOpTorchLoss$new(loss, id = "torch_loss", param_vals = list())

Arguments

loss

(TorchLoss or character(1) or nn_loss)
The loss (or something convertible via as_torch_loss()).

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

PipeOpTorchLoss$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

po_loss = po("torch_loss", loss = t_loss("cross_entropy"))
po_loss$param_set
#> <ParamSet(3)>
#>              id    class lower upper nlevels default  value
#>          <char>   <char> <num> <num>   <num>  <list> <list>
#> 1:       weight ParamUty    NA    NA     Inf  [NULL] [NULL]
#> 2: ignore_index ParamInt  -Inf   Inf     Inf    -100 [NULL]
#> 3:    reduction ParamFct    NA    NA       2    mean [NULL]
mdin = po("torch_ingress_num")$train(list(tsk("iris")))
mdin[[1L]]$loss
#> NULL
mdout = po_loss$train(mdin)[[1L]]
mdout$loss
#> <TorchLoss:cross_entropy> Cross Entropy
#> * Generator: nn_cross_entropy_loss
#> * Parameters: list()
#> * Packages: torch,mlr3torch
#> * Task Types: classif