class_docstr: Implements the DER and the DER++ Strategy,
  from the "Dark Experience For General Continual Learning"
  paper, Buzzega et. al, https://arxiv.org/abs/2004.07211
class_docstr_tok: ["Implements","the","DER","and","the","DER++","Strategy",",","from","the","``","Dark","Experience","For","General","Continual","Learning","''","paper",",","Buzzega","et",".","al",",","https",":","\/\/arxiv.org\/abs\/2004.07211"]
code: def _after_training_exp(self, **kwargs):
      self.storage_policy.update(self, **kwargs)
      super()._after_training_exp(**kwargs)
  
imports: from collections import defaultdict
  from typing import Callable, Dict, List, Optional, Sequence, Set, SupportsInt, Union
  import torch
  import torch.nn.functional
  from torch.nn import CrossEntropyLoss, Module
  from torch.optim import Optimizer
  from avalanche.benchmarks.utils import make_avalanche_dataset
  from avalanche.benchmarks.utils.data import AvalancheDataset
  from avalanche.benchmarks.utils.data_attribute import TensorDataAttribute
  from avalanche.training.utils import cycle
  from avalanche.core import SupervisedPlugin
  from avalanche.training.plugins.evaluation import EvaluationPlugin, default_evaluator
  from avalanche.training.storage_policy import BalancedExemplarsBuffer, ReservoirSamplingBuffer
  from avalanche.training.templates import SupervisedTemplate
label_desc: Use image node_id 3 for calling the DER obj's underlying member method code with example usage: obj._after_training_exp() without return types