avalanche.training.MIR
- class avalanche.training.MIR(model: ~torch.nn.modules.module.Module, optimizer: ~torch.optim.optimizer.Optimizer, criterion, mem_size: int, subsample: int, batch_size_mem: int = 1, train_mb_size: int = 1, train_epochs: int = 1, eval_mb_size: int = 1, device=None, plugins: ~typing.Optional[~typing.List[~avalanche.core.SupervisedPlugin]] = None, evaluator: ~avalanche.training.plugins.evaluation.EvaluationPlugin = <avalanche.training.plugins.evaluation.EvaluationPlugin object>, eval_every=-1, **base_kwargs)[source]
Maximally Interfered Replay Strategy See ER_MIR plugin for details.
- __init__(model: ~torch.nn.modules.module.Module, optimizer: ~torch.optim.optimizer.Optimizer, criterion, mem_size: int, subsample: int, batch_size_mem: int = 1, train_mb_size: int = 1, train_epochs: int = 1, eval_mb_size: int = 1, device=None, plugins: ~typing.Optional[~typing.List[~avalanche.core.SupervisedPlugin]] = None, evaluator: ~avalanche.training.plugins.evaluation.EvaluationPlugin = <avalanche.training.plugins.evaluation.EvaluationPlugin object>, eval_every=-1, **base_kwargs)[source]
Init. :param model: The model. :param optimizer: The optimizer to use. :param criterion: The loss criterion to use. :param mem_size: Amount of fixed memory to use :param subsample: Size of the initial sample
from which to select the replay batch
- Parameters
batch_size_mem – Size of the replay batch after loss-based selection
train_mb_size – The train minibatch size. Defaults to 1.
train_epochs – The number of training epochs. Defaults to 1.
eval_mb_size – The eval minibatch size. Defaults to 1.
device – The device to use. Defaults to None (cpu).
plugins – Plugins to be added. Defaults to None.
evaluator – (optional) instance of EvaluationPlugin for logging and metric computations.
eval_every – the frequency of the calls to eval inside the training loop. -1 disables the evaluation. 0 means eval is called only at the end of the learning experience. Values >0 mean that eval is called every eval_every epochs and at the end of the learning experience.
**base_kwargs –
any additional
BaseTemplate
constructor arguments.
Methods
__init__
(model, optimizer, criterion, ...[, ...])Init. :param model: The model. :param optimizer: The optimizer to use. :param criterion: The loss criterion to use. :param mem_size: Amount of fixed memory to use :param subsample: Size of the initial sample from which to select the replay batch :param batch_size_mem: Size of the replay batch after loss-based selection :param train_mb_size: The train minibatch size. Defaults to 1. :param train_epochs: The number of training epochs. Defaults to 1. :param eval_mb_size: The eval minibatch size. Defaults to 1. :param device: The device to use. Defaults to None (cpu). :param plugins: Plugins to be added. Defaults to None. :param evaluator: (optional) instance of EvaluationPlugin for logging and metric computations. :param eval_every: the frequency of the calls to eval inside the training loop. -1 disables the evaluation. 0 means eval is called only at the end of the learning experience. Values >0 mean that eval is called every eval_every epochs and at the end of the learning experience. :param **base_kwargs: any additional
BaseTemplate
constructor arguments.backward
()Run the backward pass.
check_model_and_optimizer
()criterion
()Loss function for supervised problems.
eval
(exp_list, **kwargs)Evaluate the current model on a series of experiences and returns the last recorded value for each metric.
eval_dataset_adaptation
(**kwargs)Initialize self.adapted_dataset.
eval_epoch
(**kwargs)Evaluation loop over the current self.dataloader.
forward
()Compute the model's output given the current mini-batch.
make_eval_dataloader
([num_workers, ...])Initializes the eval data loader. :param num_workers: How many subprocesses to use for data loading. 0 means that the data will be loaded in the main process. (default: 0). :param pin_memory: If True, the data loader will copy Tensors into CUDA pinned memory before returning them. Defaults to True. :param kwargs: :return:.
make_optimizer
()Optimizer initialization.
make_train_dataloader
([num_workers, ...])Data loader initialization.
model_adaptation
([model])Adapts the model to the current data.
optimizer_step
()Execute the optimizer step (weights update).
stop_training
()Signals to stop training at the next iteration.
train
(experiences[, eval_streams])Training loop.
train_dataset_adaptation
(**kwargs)Initialize self.adapted_dataset.
training_epoch
(**kwargs)Training epoch.
Attributes
is_eval
True if the strategy is in evaluation mode.
mb_task_id
Current mini-batch task labels.
mb_x
Current mini-batch input.
mb_y
Current mini-batch target.