class_docstr: Code emitter class.
class_docstr_tok: ["Code","emitter","class","."]
docstr: Build dictionary with quantization infos.
docstr_tok: ["Build","dictionary","with","quantization","infos","."]
code: def _extract_quantization_info(self, quantization):
      """Build dictionary with quantization infos."""
  
      for dl_tensor_name in self._input_data:
          if dl_tensor_name in quantization:
              self._quantization[dl_tensor_name] = quantization[
                  dl_tensor_name
              ]
  
      # Matching outputs is more difficult because TVM does not preserve
      # output tensor names.
      # We only support models with a single output now.
      assert (
          len(self._output_data) == 1
      ), "Multiple outputs models are not yet supported."
  
      for dl_tensor_name in self._output_data:
          for name in quantization:
              if name not in self._input_data:
                  self._quantization["output"] = quantization[name]
                  break
  
imports: import contextlib
  import json
  import os
  import re
  import shutil
  import tarfile
  import textwrap
  from datetime import datetime
  import numpy
  import tvm
  from tvm.contrib import utils
label_desc: Use image node_id 2 for calling the CodeEmitter obj's underlying member method code with example usage: obj._extract_quantization_info(quantization) without return types