class_docstr: NCM Classifier.
  NCMClassifier performs nearest class mean classification
  measuring the distance between the input tensor and the
  ones stored in 'self.class_means'.
  
  Before being used for inference, NCMClassifier needs to
  be updated with a mean vector per class, by calling
  `update_class_means_dict`.
  
  This class registers a `class_means` buffer that stores
  the class means in a single tensor of shape
  [max_class_id_seen, feature_size]. Classes with ID smaller
  than `max_class_id_seen` are associated with a 0-vector.
code: def eval_adaptation(self, experience):
      classes = experience.classes_in_this_experience
      for k in classes:
          self.max_class = max(k, self.max_class)
      if self.class_means is not None:
          self.init_missing_classes(
              classes,
              self.class_means.shape[1],
              self.class_means.device,
          )
  
file_path: avalanche/avalanche/models/ncm_classifier.py
imports: from typing import Dict
  import torch
  from torch import Tensor, nn
  from avalanche.models import DynamicModule
label_desc: Use image node_id 8 for calling the NCMClassifier obj's underlying member method code with example usage: obj.eval_adaptation(experience) without return types