RotatedMNIST#

class capymoa.ocl.datasets.RotatedMNIST[source]#

Bases: _TorchVisionDownload, _BuiltInRotatedDomainScenario

Rotated MNIST where each task applies a fixed image rotation.

RotatedMNIST task illustration.
dataset_type[source]#

alias of MNIST

__init__(
num_tasks: int | None = None,
rotations: Sequence[float] | None = None,
shuffle_data: bool = True,
seed: int = 0,
directory: Path = get_download_dir(),
auto_download: bool = True,
train_transform: Callable[[Any], Tensor] | None = None,
test_transform: Callable[[Any], Tensor] | None = None,
normalize_features: bool = False,
preload_test: bool = True,
preload_train: bool = False,
)[source]#
test_loaders(
batch_size: int,
**kwargs: Any,
) Sequence[DataLoader[Tuple[Tensor, Tensor]]][source]#

Get the training streams for the scenario.

Parameters:
  • batch_size – Collects vectors in batches of this size.

  • kwargs – Additional keyword arguments to pass to the DataLoader.

Returns:

A data loader for each task.

train_loaders(
batch_size: int,
shuffle: bool = False,
**kwargs: Any,
) Sequence[DataLoader[Tuple[Tensor, Tensor]]][source]#

Get the training streams for the scenario.

  • The order of the tasks is fixed and does not change between iterations. The datasets themselves are shuffled in __init__() if shuffle_data is set to True. This is because the order of data is important in online learning since the learner can only see each example once.

Parameters:
  • batch_size – Collects vectors in batches of this size.

  • kwargs – Additional keyword arguments to pass to the DataLoader.

Returns:

A data loader for each task.

default_rotation_max = 180.0#
default_task_count: int = 5#

The default number of tasks in the dataset.

default_test_transform: Callable[[Any], Tensor] | None = ToTensor()#

The default transform to apply to the dataset.

default_train_transform: Callable[[Any], Tensor] | None = ToTensor()#

The default transform to apply to the dataset.

mean: Sequence[float] | None = [0.1307]#

The mean of the features in the dataset used for normalization.

num_classes: int = 10#

The number of classes in the dataset.

schema: Schema#

A schema describing the format of the data.

shape: Sequence[int] = [1, 28, 28]#

The shape of each input example.

std: Sequence[float] | None = [0.3081]#

The standard deviation of the features in the dataset used for normalization.

stream: Stream[LabeledInstance]#

Stream containing each task in sequence.

task_mask: Tensor#

A mask for the output for each task of shape (num_tasks, num_classes)

task_schedule: Sequence[Set[int]]#

A sequence of sets containing the classes for each task.

In online continual learning your learner may not have access to this attribute. It is provided for evaluation and debugging.