mlr_pipeops_torch_ingress_ltnsr function

Ingress for Lazy Tensor

Ingress for Lazy Tensor

Ingress for a single lazy_tensor column.

Parameters

  • shape :: integer() | NULL | "infer"

    The shape of the tensor, where the first dimension (batch) must be NA. When it is not specified, the lazy tensor input column needs to have a known shape. When it is set to "infer", the shape is inferred from an example batch.

Internals

The returned batchgetter materializes the lazy tensor column to a tensor.

Input and Output Channels

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

State

The state is set to the input shape.

Examples

po_ingress = po("torch_ingress_ltnsr") task = tsk("lazy_iris") md = po_ingress$train(list(task))[[1L]] ingress = md$ingress x_batch = ingress[[1L]]$batchgetter(data = task$data(1, "x"), cache = NULL) x_batch # Now we try a lazy tensor with unknown shape, i.e. the shapes between the rows can differ ds = dataset( initialize = function() self$x = list(torch_randn(3, 10, 10), torch_randn(3, 8, 8)), .getitem = function(i) list(x = self$x[[i]]), .length = function() 2)() task_unknown = as_task_regr(data.table( x = as_lazy_tensor(ds, dataset_shapes = list(x = NULL)), y = rnorm(2) ), target = "y", id = "example2") # this task (as it is) can NOT be processed by PipeOpTorchIngressLazyTensor # It therefore needs to be preprocessed po_resize = po("trafo_resize", size = c(6, 6)) task_unknown_resize = po_resize$train(list(task_unknown))[[1L]] # printing the transformed column still shows unknown shapes, # because the preprocessing pipeop cannot infer them, # however we know that the shape is now (3, 10, 10) for all rows task_unknown_resize$data(1:2, "x") po_ingress$param_set$set_values(shape = c(NA, 3, 6, 6)) md2 = po_ingress$train(list(task_unknown_resize))[[1L]] ingress2 = md2$ingress x_batch2 = ingress2[[1L]]$batchgetter( data = task_unknown_resize$data(1:2, "x"), cache = NULL ) x_batch2

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_num, mlr_pipeops_torch_loss, mlr_pipeops_torch_model, mlr_pipeops_torch_model_classif, mlr_pipeops_torch_model_regr

Other Graph Network: ModelDescriptor(), TorchIngressToken(), mlr_learners_torch_model, mlr_pipeops_module, mlr_pipeops_torch, mlr_pipeops_torch_ingress, mlr_pipeops_torch_ingress_categ, mlr_pipeops_torch_ingress_num, model_descriptor_to_learner(), model_descriptor_to_module(), model_descriptor_union(), nn_graph()

Super classes

mlr3pipelines::PipeOp -> mlr3torch::PipeOpTorchIngress -> PipeOpTorchIngressLazyTensor

Methods

Public methods

Method new()

Creates a new instance of this R6 class.

Usage

PipeOpTorchIngressLazyTensor$new(
  id = "torch_ingress_ltnsr",
  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

PipeOpTorchIngressLazyTensor$clone(deep = FALSE)

Arguments

  • deep: Whether to make a deep clone.

  • Maintainer: Sebastian Fischer
  • License: LGPL (>= 3)
  • Last published: 2025-02-13

Downloads (last 30 days):