class_docstr: GSSPlugin replay plugin.
  
  Code adapted from the repository:
  https://github.com/RaptorMai/online-continual-learning
  Handles an external memory fulled with samples selected
  using the Greedy approach of GSS algorithm.
  `before_forward` callback is used to process the current
  sample and estimate a score.
docstr: :param mem_size: total number of patterns to be stored
      in the external memory.
  :param mem_strength:
  :param input_size:
docstr_tok: [":","param","mem_size",":","total","number","of","patterns","to","be","stored","in","the","external","memory",".",":","param","mem_strength",":",":","param","input_size",":"]
code: def __init__(self, mem_size=200, mem_strength=5, input_size=[]):
      """
  
      :param mem_size: total number of patterns to be stored
          in the external memory.
      :param mem_strength:
      :param input_size:
      """
      super().__init__()
      self.mem_size = mem_size
      self.mem_strength = mem_strength
      self.device = torch.device("cpu")
  
      self.ext_mem_list_x = torch.FloatTensor(
          mem_size, *input_size
      ).fill_(0)
      self.ext_mem_list_y = torch.LongTensor(mem_size).fill_(0)
      self.ext_mem_list_current_index = 0
  
      self.buffer_score = torch.FloatTensor(self.mem_size).fill_(0)
  
file_path: avalanche/avalanche/training/plugins/gss_greedy.py
imports: from typing import TYPE_CHECKING
  import torch
  from avalanche.benchmarks.utils import _make_taskaware_classification_dataset
  from avalanche.benchmarks.utils.data_loader import ReplayDataLoader
  from avalanche.training.plugins.strategy_plugin import SupervisedPlugin
label_desc: Use image node_id 1 to create a new GSS_greedyPlugin object from inherited base classes: SupervisedPlugin with example: obj = GSS_greedyPlugin(mem_size, mem_strength, input_size)