code: def _get_reshape_info(self, shapes):
      invalidInputError(
          isinstance(shapes, str),
          "`_get_reshape_info` only supports string input.",
      )
      from openvino.tools.benchmark.utils.utils import (
          parse_input_parameters,
      )
      from openvino.runtime import PartialShape
  
      inputs = self.ie_network.inputs
      input_names = [port.any_name for port in inputs]
      inputs_info = [
          (i.any_name, i.node.friendly_name, i.partial_shape)
          for i in inputs
      ]
      shape_map = parse_input_parameters(
          shapes, input_names=input_names
      )
      reshape = False
      input_shapes = {}
      origin_shapes = {}
      for name, node_name, shape in inputs_info:
          origin_shapes[name] = shape
          new_shape = None
          if name in shape_map:
              new_shape = PartialShape(shape_map[name])
          elif node_name in shape_map:
              new_shape = PartialShape(shape_map[node_name])
  
          if new_shape is None:
              input_shapes[name] = shape
          else:
              if new_shape != shape:
                  reshape = True
              input_shapes[name] = new_shape
  
      return input_shapes, reshape, origin_shapes
  
imports: from pathlib import Path
  from tempfile import TemporaryDirectory
  from typing import List, Union
  from openvino.runtime import Core
  from bigdl.nano.utils.common import invalidInputError, _flatten, invalidOperationError
  from openvino.runtime import Model
  from openvino.runtime import AsyncInferQueue
  import numpy
  from datetime import datetime
  from .utils import save, OpenVINO_LESS_2022_3
label_desc: Use image node_id 13 for calling the OpenVINOModel obj's underlying member method code with example usage: obj._get_reshape_info(shapes) and returns: input_shapes,  reshape,  origin_shapes