code: def aggregate_tuple_data(self, all_data, new_batch):
      assert isinstance(new_batch, tuple)
      # num_label_set * bsz * ...
      data = [self._make_simple_list(d) for d in new_batch]
      # convert to bsz * num_label_set * ...
      for d in zip(*data):
          all_data.append(d)
  
imports: import itertools
  import re
  from collections import Counter
  from typing import Dict, List, NamedTuple
  from pytext.common.constants import DatasetFieldName, SpecialTokens, Stage
  from pytext.data import CommonMetadata
  from pytext.metrics import AllConfusions, compute_classification_metrics, compute_multi_label_multi_class_soft_metrics, Confusions, LabelPrediction, PRF1Metrics
  from pytext.metrics.intent_slot_metrics import compute_prf1_metrics, Node, NodesPredictionPair, Span
  from pytext.utils.data import merge_token_labels_to_slot, parse_slot_string
  from .channel import Channel, ConsoleChannel, FileChannel
  from .metric_reporter import MetricReporter
label_desc: Use image node_id 3 for calling the MultiLabelSequenceTaggingMetricReporter obj's underlying member method code with example usage: obj.aggregate_tuple_data(all_data, new_batch) without return types