code: def from_config(cls, config, *args, tensorizers=None, **kwargs):
      return cls(
          channels=[
              ConsoleChannel(),
              MultiSpanQAFileChannel((Stage.TEST,), config.output_path),
          ],
          tensorizer=tensorizers["tokens"],
      )
  
imports: import re
  import string
  from typing import Dict, List, Set, Tuple, Union
  import numpy
  from pytext.common.constants import Stage
  from pytext.metric_reporters.channel import Channel, ConsoleChannel, FileChannel
  from pytext.metric_reporters.metric_reporter import MetricReporter
  from pytext.metrics.squad_metrics import SquadMetrics
  from pytext.utils.data import merge_token_labels_to_slot, parse_slot_string, Slot
  from scipy.optimize import linear_sum_assignment
label_desc: Use image node_id 1 for calling the MultiSpanQAMetricReporter obj's underlying member method code with example usage: obj.from_config(cls, config) and returns: cls