class_docstr: ICaRLLossPlugin
  Similar to the Knowledge Distillation Loss. Works as follows:
      The target is constructed by taking the one-hot vector target for the
      current sample and assigning to the position corresponding to the
      past classes the output of the old model on the current sample.
      Doesn't work if classes observed in previous experiences might be
      observed again in future training experiences.
code: def before_forward(self, strategy, **kwargs):
      if self.old_model is not None:
          with torch.no_grad():
              self.old_logits = self.old_model(strategy.mb_x)
  
imports: import copy
  import numpy
  import torch
  import torch.nn.functional
  from torch import nn
  from torch.nn import BCELoss
  from avalanche.training.plugins import SupervisedPlugin
  from avalanche.training.regularization import cross_entropy_with_oh_targets
label_desc: Use image node_id 2 for calling the ICaRLLossPlugin obj's underlying member method code with example usage: obj.before_forward(strategy) without return types