class_docstr: Base pytorch Module with support for task labels.
  
  Multi-task modules are ``torch.nn.Module`` for multi-task
  scenarios. The ``forward`` method accepts task labels, one for
  each sample in the mini-batch.
  
  By default the ``forward`` method splits the mini-batch by task
  and calls ``forward_single_task``. Subclasses must implement
  ``forward_single_task`` or override `forward. If ``task_labels == None``,
  the output is computed in parallel for each task.
class_docstr_tok: ["Base","pytorch","Module","with","support","for","task","labels",".","Multi-task","modules","are","``","torch.nn.Module","``","for","multi-task","scenarios",".","The","``","forward","``","method","accepts","task","labels",",","one","for","each","sample","in","the","mini-batch",".","By","default","the","``","forward","``","method","splits","the","mini-batch","by","task","and","calls","``","forward_single_task","``",".","Subclasses","must","implement","``","forward_single_task","``","or","override","`","forward",".","If","``","task_labels","==","None","``",",","the","output","is","computed","in","parallel","for","each","task","."]
code: def eval_adaptation(self, experience: CLExperience):
      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 3 for calling the MultiTaskModule obj's underlying member method code with example usage: obj.eval_adaptation(experience) without return types