class_docstr: An extension of the Average Mean Class Accuracy (AMCA) metric
  (class:`AverageMeanClassAccuracy`) able to separate the computation of the
  AMCA based on the current stream.
class_docstr_tok: ["An","extension","of","the","Average","Mean","Class","Accuracy","(","AMCA",")","metric","(","class",":","`","AverageMeanClassAccuracy","`",")","able","to","separate","the","computation","of","the","AMCA","based","on","the","current","stream","."]
docstr: Creates an instance of a MultiStream AMCA.
  
  :param classes: The list of classes to track. This has the same semantic
      of the `classes` parameter of class
      :class:`AverageMeanClassAccuracy`.
  :param streams: The list of streams to track. Defaults to None, which
      means that all stream will be tracked. This is not recommended, as
      you usually will want to track the "test" stream only.
docstr_tok: ["Creates","an","instance","of","a","MultiStream","AMCA",".",":","param","classes",":","The","list","of","classes","to","track",".","This","has","the","same","semantic","of","the","`","classes","`","parameter","of","class",":","class",":","`","AverageMeanClassAccuracy","`",".",":","param","streams",":","The","list","of","streams","to","track",".","Defaults","to","None",",","which","means","that","all","stream","will","be","tracked",".","This","is","not","recommended",",","as","you","usually","will","want","to","track","the","``","test","''","stream","only","."]
code: def __init__(self, classes=None, streams=None):
      """
      Creates an instance of a MultiStream AMCA.
  
      :param classes: The list of classes to track. This has the same semantic
          of the `classes` parameter of class
          :class:`AverageMeanClassAccuracy`.
      :param streams: The list of streams to track. Defaults to None, which
          means that all stream will be tracked. This is not recommended, as
          you usually will want to track the "test" stream only.
      """
  
      self._limit_streams = streams
      if self._limit_streams is not None:
          self._limit_streams = set(self._limit_streams)
  
      self._limit_classes = classes
      self._amcas: Dict[str, AverageMeanClassAccuracy] = dict()
  
      self._current_stream: Optional[str] = None
      self._streams_in_this_phase: Set[str] = set()
  
imports: from typing import Callable, Dict, Iterable, List, Union, TYPE_CHECKING, Optional, Sequence, Set
  from collections import defaultdict, OrderedDict
  import torch
  from torch import Tensor
  from avalanche.evaluation import Metric, PluginMetric, _ExtendedGenericPluginMetric, _ExtendedPluginMetricValue
  from avalanche.evaluation.metric_utils import generic_get_metric_name
  from avalanche.evaluation.metrics.class_accuracy import ClassAccuracy, TrackedClassesType
label_desc: Use image node_id 1 to create a new MultiStreamAMCA object from inherited base classes: Metric with example: obj = MultiStreamAMCA(classes, streams)