code: def get_input_type(self, op, type_map):
      mace_check(len(op.input) > 0, "op %s has no input" % op.name)
      for input in op.input:
          if input in type_map:
              return type_map[input]
      mace_check(False, "op %s have no inputs in type_map" % op.name)
  
imports: import copy
  import numpy
  from enum import Enum
  from operator import mul
  from py_proto import mace_pb2
  from transform import base_converter
  from transform.base_converter import ConverterUtil
  from transform.base_converter import EltwiseType
  from transform.base_converter import MaceKeyword
  from transform.base_converter import MaceOp
  from transform.base_converter import PaddingMode
  from transform.base_converter import PadType
  from transform.base_converter import PoolingType
  from transform.base_converter import ReduceType
  from transform.base_converter import DataFormat
  from transform.base_converter import FrameworkType
  from utils.util import mace_check
label_desc: Use image node_id 5 for calling the ApuConverter obj's underlying member method code with example usage: obj.get_input_type(op, type_map) and returns: type_map