code: def get_input_dims(mace_op, mace_net, idx):
      input_name = mace_op.input[idx]
      for const_tensor in mace_net.tensors:
          if input_name == const_tensor.name:
              return const_tensor.dims
      for pre_op in mace_net.op:
          for i in range(len(pre_op.output)):
              if input_name == pre_op.output[i]:
                  return pre_op.output_shape[i].dims
      for input_info in mace_net.input_info:
          if input_name == input_info.name:
              return input_info.dims
      mace_check(False, "unreachable")
  
file_path: mace/tools/python/utils/net_util.py
imports: from py_proto import mace_pb2
  from utils.config_parser import DataFormat
  from utils.config_parser import DeviceType
  from utils.config_parser import Platform
  from utils.util import mace_check
  from transform.base_converter import PaddingMode
label_desc: Use image node_id 2 for calling the NetUtil obj's underlying member method code with example usage: obj.get_input_dims(mace_op, mace_net, idx) and returns: const_tensor, input_info, pre_op