code: def map_data(cls, node):
      # TODO: We need to identify whether this is 4D image data, otherwise we shouldn't change the dimension order
      shape = TensorShape()
      dim = shape.dim.add()
      dim.size = -1
      for i in node.output_shape[2:]:
          dim = shape.dim.add()
          dim.size = i
      dim = shape.dim.add()
      dim.size = node.output_shape.channels
  
      kwargs = {"shape": shape}  # Ignore the dimension of batch size
      cls._convert_output_shape(kwargs, node)
      return Node.create("DataInput", **kwargs)
  
imports: from __future__ import absolute_import
  from __future__ import division
  import numpy
  from mmdnn.conversion.caffe.errors import ConversionError
  from mmdnn.conversion.caffe.common_graph import Node
  from mmdnn.conversion.caffe.network import DEFAULT_PADDING
  from mmdnn.conversion.caffe.utils import get_lower_case
  from mmdnn.conversion.common.IR.graph_pb2 import TensorShape
label_desc: Use image node_id 3 for calling the NodeMapper obj's underlying member method code with example usage: obj.map_data(cls, node) and returns: Node