dataeval.utils.torch.trainer.AETrainer

class dataeval.utils.torch.trainer.AETrainer(model, device=None, batch_size=8)

A class to train and evaluate an autoencoder<Autoencoder>` model.

Parameters:
model : nn.Module

The model to be trained.

device : DeviceLike or None, default None

The hardware device to use if specified, otherwise uses the DataEval default or torch default.

batch_size : int, default 8

The number of images to process in a batch.

encode(dataset)

Create image embeddings for the dataset using the model’s encoder.

If the model has an encode method, it will be used; otherwise, model.forward will be used.

Parameters:
dataset : Dataset

The dataset to encode. Torch Dataset containing images in the first return position.

Returns:

Data encoded by the model

Return type:

torch.Tensor

Note

This function should be run after the model has been trained and evaluated.

eval(dataset)

Basic image reconstruction evaluation function for autoencoder models

Uses torch.nn.MSELoss as default loss function.

Parameters:
dataset : Dataset

The dataset to evaluate on. Torch Dataset containing images in the first return position.

Returns:

Total reconstruction loss over the entire dataset

Return type:

float

Note

To replace this function with a custom function, do:

AETrainer.eval = custom_function

train(dataset, epochs=25)

Basic image reconstruction training function for Autoencoder models

Uses torch.optim.Adam and torch.nn.MSELoss as default hyperparameters

Parameters:
dataset : Dataset

The dataset to train on. Torch Dataset containing images in the first return position.

epochs : int, default 25

Number of full training loops

Returns:

A list of average loss values for each epoch.

Return type:

List[float]

Note

To replace this function with a custom function, do:

AETrainer.train = custom_function