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.

decision_function(x: Tensor, *args, **kwargs) Tensor[source]#

Return the decision function from the model.

Requires override to specify custom args and kwargs passing.

Parameters:

x (torch.Tensor) – Input damples.

Returns:

Model output scores.

Return type:

torch.Tensor

abstract gradient(x: Tensor, y: int, *args, **kwargs) 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: Tensor, *args, **kwargs) 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: 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: 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.