class_docstr: Progressive Neural Network layer.
  
  The adaptation phase assumes that each experience is a separate task.
  Multiple experiences with the same task label or multiple task labels
  within the same experience will result in a runtime error.
docstr: Forward.
  
  :param x: list of inputs.
  :param task_label:
  :return:
docstr_tok: ["Forward",".",":","param","x",":","list","of","inputs",".",":","param","task_label",":",":","return",":"]
code: def forward_single_task(self, x, task_label):
      """Forward.
  
      :param x: list of inputs.
      :param task_label:
      :return:
      """
      col_idx = self.task_to_module_idx[task_label]
      hs = []
      for ii in range(col_idx + 1):
          hs.append(self.columns[ii](x[: ii + 1]))
      return hs
  
imports: import torch
  import torch.nn.functional
  from torch import nn
  from avalanche.benchmarks.utils.flat_data import ConstantSequence
  from avalanche.models import MultiTaskModule
  from avalanche.models import MultiHeadClassifier
  from avalanche.benchmarks.scenarios import CLExperience
label_desc: Use image node_id 5 for calling the PNNLayer obj's underlying member method code with example usage: obj.forward_single_task(x, task_label) and returns: hs