class_docstr: Wrapper class to compose class: `ConcatDataset` and multiple
  :class:`BaseMetric` instances.
  The metrics will be evaluated on each dataset slice separately. The name of
  the each metric is the concatenation of the dataset prefix, the metric
  prefix and the key of metric - e.g.
  `dataset_prefix/metric_prefix/accuracy`.
  
  Args:
      metrics (dict or BaseMetric or Sequence): The config of metrics.
      dataset_prefixes (Sequence[str]): The prefix of each dataset. The
          length of this sequence should be the same as the length of the
          datasets.
class_docstr_tok: ["Wrapper","class","to","compose","class",":","`","ConcatDataset","`","and","multiple",":","class",":","`","BaseMetric","`","instances",".","The","metrics","will","be","evaluated","on","each","dataset","slice","separately",".","The","name","of","the","each","metric","is","the","concatenation","of","the","dataset","prefix",",","the","metric","prefix","and","the","key","of","metric","-","e.g",".","`","dataset_prefix\/metric_prefix\/accuracy","`",".","Args",":","metrics","(","dict","or","BaseMetric","or","Sequence",")",":","The","config","of","metrics",".","dataset_prefixes","(","Sequence","[","str","]",")",":","The","prefix","of","each","dataset",".","The","length","of","this","sequence","should","be","the","same","as","the","length","of","the","datasets","."]
code: def _get_cumulative_sizes(self):
      # ConcatDataset have a property `cumulative_sizes`
      if isinstance(self.dataset_meta, Sequence):
          dataset_slices = self.dataset_meta[0]["cumulative_sizes"]
          if not self._setups:
              self._setups = True
              for dataset_meta, metric in zip(
                  self.dataset_meta, self.metrics
              ):
                  metric.dataset_meta = dataset_meta
      else:
          dataset_slices = self.dataset_meta["cumulative_sizes"]
      return dataset_slices
  
file_path: mmdetection/mmdet/evaluation/evaluator/multi_datasets_evaluator.py
imports: import warnings
  from collections import OrderedDict
  from typing import Sequence, Union
  from mmengine.dist import broadcast_object_list, collect_results, is_main_process
  from mmengine.evaluator import BaseMetric, Evaluator
  from mmengine.evaluator.metric import _to_cpu
  from mmengine.registry import EVALUATOR
  from mmdet.utils import ConfigType
label_desc: Use image node_id 2 for calling the MultiDatasetsEvaluator obj's underlying member method code with example usage: obj._get_cumulative_sizes() and returns: dataset_slices