ICARL CASPER#

Arguments#

Options

--casper_batchint

Help: Size of minibatch for casper. Equal to batch_size by default, if negative equal to buffer_size.

  • Default: None

--rhofloat

Help: Weight for casper loss.

  • Default: 0.01

--knn_laplaceint

Help: K of knn to build the graph for laplacian.

  • Default: 10

--pint

Help: Number of classes to be drawn from the buffer. Default is N_CLASSES_PER_TASK.

  • Default: None

Rehearsal arguments

Arguments shared by all rehearsal-based methods.

--buffer_sizeint

Help: The size of the memory buffer.

  • Default: None

--minibatch_sizeint

Help: The batch size of the memory buffer.

  • Default: None

Classes#

class models.icarl_casper.ICarlCasper(backbone, loss, args, transform, dataset=None)[source]#

Bases: CasperModel

Continual Learning via iCaRL. Treated with CaSpeR!

COMPATIBILITY: List[str] = ['class-il', 'task-il']#
NAME: str = 'icarl_casper'#
begin_task(dataset)[source]#
static binary_cross_entropy(pred, y)[source]#
compute_class_means()[source]#

Computes a vector representing mean features for each class.

end_task(dataset)[source]#
forward(x)[source]#
get_loss(inputs, labels, task_idx, logits)[source]#

Computes the loss tensor.

Parameters:
  • inputs (Tensor) – the images to be fed to the network

  • labels (Tensor) – the ground-truth labels

  • task_idx (int) – the task index

  • logits (Tensor) – the logits of the old network

Returns:

the differentiable loss value

Return type:

Tensor

static get_parser(parser)[source]#
Return type:

ArgumentParser

observe(inputs, labels, not_aug_inputs, logits=None, epoch=None)[source]#