code: def convert_double_to_float_multiarray_type(spec):
      """
      Convert all double multiarrays feature descriptions (input, output, training input)
      to float multiarrays
  
      Parameters
      ----------
      spec: Model_pb
          The specification containing the multiarrays types to convert
  
      Examples
      --------
      .. sourcecode:: python
  
          # In-place convert multiarray type of spec
          >>> spec = mlmodel.get_spec()
          >>> coremltools.utils.convert_double_to_float_multiarray_type(spec)
          >>> model = coremltools.models.MLModel(spec)
      """
  
      def _convert_to_float(feature):
          if feature.type.HasField("multiArrayType"):
              if (
                  feature.type.multiArrayType.dataType
                  == _Model_pb2.ArrayFeatureType.DOUBLE
              ):
                  feature.type.multiArrayType.dataType = (
                      _Model_pb2.ArrayFeatureType.FLOAT32
                  )
  
      for feature in spec.description.input:
          _convert_to_float(feature)
  
      for feature in spec.description.output:
          _convert_to_float(feature)
  
      for feature in spec.description.trainingInput:
          _convert_to_float(feature)
  
      if spec.WhichOneof("Type") == "pipeline":
          for model_spec in spec.pipeline.models:
              convert_double_to_float_multiarray_type(model_spec)
  
imports: import math
  import numpy
  import os
  import six
  import warnings
  import sys
  from coremltools.proto import Model_pb2
  from coremltools.models._deprecation import deprecated
  from .._deps import _HAS_SKLEARN
label_desc: Use image node_id 29 for calling a global function with example usage: convert_double_to_float_multiarray_type(spec) without return types