code: def from_config(
      cls, config: Config, tensorizers: Dict[str, Tensorizer]
  ):
      return cls(
          [
              ConsoleChannel(),
              Seq2SeqFileChannel(
                  [Stage.TEST], config.output_path, tensorizers
              ),
          ],
          config.log_gradient,
          tensorizers,
      )
  
imports: from typing import Dict, List
  import torch
  from pytext.common.constants import BatchContext, DatasetFieldName, RawExampleFieldName, Stage
  from pytext.data.tensorizers import Tensorizer
  from pytext.metric_reporters.channel import Channel, ConsoleChannel, FileChannel
  from pytext.metric_reporters.metric_reporter import MetricReporter
  from pytext.metrics import safe_division
  from pytext.metrics.seq2seq_metrics import compute_f1, Seq2SeqMetrics
label_desc: Use image node_id 3 for calling the Seq2SeqMetricReporter obj's underlying member method code with example usage: obj.from_config(cls, config, tensorizers) and returns: cls