secmlt.models package

Subpackages

Submodules

secmlt.models.base_model module

Basic wrapper for generic model.

class secmlt.models.base_model.BaseModel(preprocessing: DataProcessing | None = None, postprocessing: DataProcessing | None = None)[source]

Bases: ABC

Basic model wrapper.

__call__(x: torch.Tensor) torch.Tensor[source]

Forward function of the model.

Parameters:

x (torch.Tensor) – Input samples.

Returns:

Model ouptut scores.

Return type:

torch.Tensor

__init__(preprocessing: DataProcessing | None = None, postprocessing: DataProcessing | None = None) None[source]

Create base model.

Parameters:
  • preprocessing (DataProcessing, optional) – Preprocessing to apply before the forward, by default None.

  • postprocessing (DataProcessing, optional) – Postprocessing to apply after the forward, by default None.

abstract _decision_function(x: torch.Tensor) torch.Tensor[source]

Specific decision function of the model (data already preprocessed).

Parameters:

x (torch.Tensor) – Preprocessed input samples.

Returns:

Model output scores.

Return type:

torch.Tensor

decision_function(x: torch.Tensor) torch.Tensor[source]

Return the decision function from the model.

Parameters:

x (torch.Tensor) – Input damples.

Returns:

Model output scores.

Return type:

torch.Tensor

abstract gradient(x: torch.Tensor, y: int) torch.Tensor[source]

Compute gradients of the score y w.r.t. x.

Parameters:
  • x (torch.Tensor) – Input samples.

  • y (int) – Target score.

Returns:

Input gradients of the target score y.

Return type:

torch.Tensor

abstract predict(x: torch.Tensor) torch.Tensor[source]

Return output predictions for given model.

Parameters:

x (torch.Tensor) – Input samples.

Returns:

Predictions from the model.

Return type:

torch.Tensor

abstract train(dataloader: torch.utils.data.DataLoader) BaseModel[source]

Train the model with the given dataloader.

Parameters:

dataloader (DataLoader) – Train data loader.

secmlt.models.base_trainer module

Model trainers.

class secmlt.models.base_trainer.BaseTrainer[source]

Bases: object

Abstract class for model trainers.

abstract train(model: BaseModel, dataloader: torch.utils.data.DataLoader) BaseModel[source]

Train a model with the given dataloader.

Parameters:
  • model (BaseModel) – Model to train.

  • dataloader (DataLoader) – Training dataloader.

Returns:

The trained model.

Return type:

BaseModel

Module contents

Machine learning models and wrappers.