Skip to contents

Output head for classification and regresssion.

Details

When the method $shapes_out() does not have access to the task, it returns c(NA, NA). When this PipeOp is trained however, the model descriptor has the correct output shape.

nn_module

Calls torch::nn_linear() with the input features inferred from the input shape and the output features from the task, via output_dim_for(). For

  • binary classification, the output dimension is 1.

  • multiclass classification, the output dimension is the number of classes.

  • regression, the output dimension is 1.

Parameters

  • bias :: logical(1)
    Whether to use a bias. Default is TRUE.

Supporting Other Task Types

The output dimension is not hard-coded here: PipeOpTorchHead asks the generic output_dim_for() how many output neurons the task needs, and mlr3torch implements methods for TaskClassif and TaskRegr. You can add support to your custom task type by implementing a method for your class.

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

Super classes

mlr3pipelines::PipeOp -> PipeOpTorch -> PipeOpTorchHead

Methods

Inherited methods


PipeOpTorchHead$new()

Creates a new instance of this R6 class.

Usage

PipeOpTorchHead$new(id = "nn_head", 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.


PipeOpTorchHead$clone()

The objects of this class are cloneable with this method.

Usage

PipeOpTorchHead$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Construct the PipeOp
pipeop = nn("head")
pipeop
#> 
#> ── PipeOp <head>: not trained ──────────────────────────────────────────────────
#> Values: list()
#> 
#> ── Input channels: 
#>    name           train predict
#>  <char>          <char>  <char>
#>   input ModelDescriptor    Task
#> 
#> ── Output channels: 
#>    name           train predict
#>  <char>          <char>  <char>
#>  output ModelDescriptor    Task
# The available parameters
pipeop$param_set
#> <ParamSet(1)>
#>        id    class lower upper nlevels default  value
#>    <char>   <char> <num> <num>   <num>  <list> <list>
#> 1:   bias ParamLgl    NA    NA       2    TRUE [NULL]