class_docstr: Less-Forgetful Learning (LFL) Plugin.
  
  LFL satisfies two properties to mitigate catastrophic forgetting.
  1) To keep the decision boundaries unchanged
  2) The feature space should not change much on target(new) data
  LFL uses euclidean loss between features from current and previous version
  of model as regularization to maintain the feature space and avoid
  catastrophic forgetting.
  Refer paper https://arxiv.org/pdf/1607.00122.pdf for more details
  This plugin does not use task identities.
docstr: Compute features from prev model and current model
docstr_tok: ["Compute","features","from","prev","model","and","current","model"]
code: def compute_features(self, model, x):
      """
      Compute features from prev model and current model
      """
      prev_model = self.prev_model
      assert prev_model is not None
      model.eval()
      prev_model.eval()
  
      features = model.get_features(x)
      prev_features = prev_model.get_features(x)
  
      return features, prev_features
  
file_path: avalanche/avalanche/training/plugins/lfl.py
imports: import copy
  import torch
  from avalanche.training.plugins.strategy_plugin import SupervisedPlugin
  from avalanche.training.utils import get_last_fc_layer, freeze_everything
  from avalanche.models.base_model import BaseModel
label_desc: Use image node_id 4 for calling the LFLPlugin obj's underlying member method code with example usage: obj.compute_features(model, x) and returns: features,  prev_features