avalanche.training.plugins.IL2MPlugin
- class avalanche.training.plugins.IL2MPlugin(mem_size: int = 2000, batch_size: int | None = None, batch_size_mem: int | None = None, storage_policy: ExemplarsBuffer | None = None)[source]
Class Incremental Learning With Dual Memory (IL2M) plugin.
Technique introduced in: Belouadah, E. and Popescu, A. “IL2M: Class Incremental Learning With Dual Memory.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019.
Implementation based on FACIL, as in: https://github.com/mmasana/FACIL/blob/master/src/approach/il2m.py
- __init__(mem_size: int = 2000, batch_size: int | None = None, batch_size_mem: int | None = None, storage_policy: ExemplarsBuffer | None = None)[source]
- Parameters:
mem_size – replay buffer size.
batch_size – the size of the data batch. If set to None, it will be set equal to the strategy’s batch size.
batch_size_mem – the size of the memory batch. If its value is set to None (the default value), it will be automatically set equal to the data batch size.
storage_policy – The policy that controls how to add new exemplars in memory.
Methods
__init__([mem_size, batch_size, ...])- param mem_size:
replay buffer size.
after_backward(strategy, *args, **kwargs)Called after criterion.backward() by the BaseTemplate.
after_eval(strategy, *args, **kwargs)Called after eval by the BaseTemplate.
after_eval_dataset_adaptation(strategy, ...)Called after eval_dataset_adaptation by the BaseTemplate.
after_eval_exp(strategy, *args, **kwargs)Called after eval_exp by the BaseTemplate.
after_eval_forward(strategy, **kwargs)Called after model.forward() by the BaseTemplate.
after_eval_iteration(strategy, *args, **kwargs)Called after the end of an iteration by the BaseTemplate.
after_forward(strategy, *args, **kwargs)Called after model.forward() by the BaseTemplate.
after_train_dataset_adaptation(strategy, ...)Called after train_dataset_adapatation by the BaseTemplate.
after_training(strategy, *args, **kwargs)Called after train by the BaseTemplate.
after_training_epoch(strategy, *args, **kwargs)Called after train_epoch by the BaseTemplate.
after_training_exp(strategy, **kwargs)Called after train_exp by the BaseTemplate.
after_training_iteration(strategy, *args, ...)Called after the end of a training iteration by the BaseTemplate.
after_update(strategy, *args, **kwargs)Called after optimizer.update() by the BaseTemplate.
before_backward(strategy, *args, **kwargs)Called before criterion.backward() by the BaseTemplate.
before_eval(strategy, *args, **kwargs)Called before eval by the BaseTemplate.
before_eval_dataset_adaptation(strategy, ...)Called before eval_dataset_adaptation by the BaseTemplate.
before_eval_exp(strategy, *args, **kwargs)Called before eval_exp by the BaseTemplate.
before_eval_forward(strategy, *args, **kwargs)Called before model.forward() by the BaseTemplate.
before_eval_iteration(strategy, *args, **kwargs)Called before the start of a training iteration by the BaseTemplate.
before_forward(strategy, *args, **kwargs)Called before model.forward() by the BaseTemplate.
before_train_dataset_adaptation(strategy, ...)Called before train_dataset_adapatation by the BaseTemplate.
before_training(strategy, *args, **kwargs)Called before train by the BaseTemplate.
before_training_epoch(strategy, *args, **kwargs)Called before train_epoch by the BaseTemplate.
before_training_exp(strategy[, num_workers, ...])Called before train_exp by the BaseTemplate.
before_training_iteration(strategy, *args, ...)Called before the start of a training iteration by the BaseTemplate.
before_update(strategy, *args, **kwargs)Called before optimizer.update() by the BaseTemplate.
Attributes
supports_distributedA flag describing whether this plugin supports distributed training.