class_docstr: Dynamic Modules are Avalanche modules that can be incrementally
  expanded to allow architectural modifications (multi-head
  classifiers, progressive networks, ...).
  
  Compared to pytoch Modules, they provide an additional method,
  `model_adaptation`, which adapts the model given the current experience.
class_docstr_tok: ["Dynamic","Modules","are","Avalanche","modules","that","can","be","incrementally","expanded","to","allow","architectural","modifications","(","multi-head","classifiers",",","progressive","networks",",","...",")",".","Compared","to","pytoch","Modules",",","they","provide","an","additional","method",",","`","model_adaptation","`",",","which","adapts","the","model","given","the","current","experience","."]
docstr: Module's adaptation at training time.
  
  Avalanche strategies automatically call this method *before* training
  on each experience.
docstr_tok: ["Module","'s","adaptation","at","training","time",".","Avalanche","strategies","automatically","call","this","method","*","before","*","training","on","each","experience","."]
code: def train_adaptation(self, experience: CLExperience):
      """Module's adaptation at training time.
  
      Avalanche strategies automatically call this method *before* training
      on each experience.
      """
      pass
  
imports: import torch
  from torch.nn import Module
  from typing import Optional
  from avalanche.benchmarks.utils.flat_data import ConstantSequence
  from avalanche.benchmarks.scenarios import CLExperience
label_desc: Use image node_id 2 for calling the DynamicModule obj's underlying member method code with example usage: obj.train_adaptation(experience) without return types