class_docstr: This class tests for different I/O feature data types for an .mlmodel
  It will cover the following areas to test for:
  - All features must have a valid type
  - Multiarrays must have a valid dataType. Inputs must specify shape. Shape must have >= 0 elements
  - Images must have a valid colorspace. width & height have to be >= 0
  - Dictionaries must have a valid key type
code: def _feature_data_type(self, dtype):
      feature_dict = {
          np.int32: "INT32",
          np.float32: "FLOAT32",
          np.float64: "DOUBLE",
      }
      return feature_dict[dtype]
  
imports: import unittest
  import numpy
  import PIL.Image
  import coremltools
  from coremltools._deps import _HAS_SKLEARN, MSG_SKLEARN_NOT_FOUND
  from coremltools.models.utils import _is_macos, _macos_version
label_desc: Use image node_id 2 for calling the TestIODataTypes obj's underlying member method code with example usage: obj._feature_data_type(dtype) and returns: feature_dict