class_docstr: CWR* Strategy.
  
  This plugin does not use task identities.
class_docstr_tok: ["CWR","*","Strategy",".","This","plugin","does","not","use","task","identities","."]
code: def before_training_exp(self, strategy, **kwargs):
      if (
          self.freeze_remaining_model
          and strategy.clock.train_exp_counter > 0
      ):
          self.freeze_other_layers()
  
      # Count current classes and number of samples for each of them.
      data = strategy.experience.dataset
      self.model.cur_j = examples_per_class(data.targets)
      self.cur_class = [
          cls
          for cls in set(self.model.cur_j.keys())
          if self.model.cur_j[cls] > 0
      ]
  
      self.reset_weights(self.cur_class)
  
file_path: avalanche/avalanche/training/plugins/cwr_star.py
imports: import logging
  from collections import defaultdict
  from typing import Optional
  import numpy
  import torch
  from torch.nn import Linear
  from avalanche.training.plugins.strategy_plugin import SupervisedPlugin
  from avalanche.training.utils import examples_per_class, get_last_fc_layer, get_layer_by_name, freeze_everything, unfreeze_everything
label_desc: Use image node_id 3 for calling the CWRStarPlugin obj's underlying member method code with example usage: obj.before_training_exp(strategy) without return types