code: def test_multiarray_type_convert_to_float(self):
      input_features = [("data", datatypes.Array(2))]
      output_features = [("out", datatypes.Array(2))]
      builder = NeuralNetworkBuilder(input_features, output_features)
      builder.add_ceil("ceil", "data", "out")
      spec = builder.spec
      self.assertEqual(
          spec.description.input[0].type.multiArrayType.dataType,
          Model_pb2.ArrayFeatureType.DOUBLE,
      )
      self.assertEqual(
          spec.description.output[0].type.multiArrayType.dataType,
          Model_pb2.ArrayFeatureType.DOUBLE,
      )
      convert_double_to_float_multiarray_type(spec)
      self.assertEqual(
          spec.description.input[0].type.multiArrayType.dataType,
          Model_pb2.ArrayFeatureType.FLOAT32,
      )
      self.assertEqual(
          spec.description.output[0].type.multiArrayType.dataType,
          Model_pb2.ArrayFeatureType.FLOAT32,
      )
  
imports: import os
  import tempfile
  import unittest
  import numpy
  import PIL.Image
  import coremltools
  from coremltools import ComputeUnit
  from coremltools._deps import _HAS_TORCH
  from coremltools.converters.mil import Builder
  from coremltools.models import MLModel, datatypes
  from coremltools.models.neural_network import NeuralNetworkBuilder
  from coremltools.models.neural_network.utils import make_image_input, make_nn_classifier
  from coremltools.models.utils import _convert_neural_network_spec_weights_to_fp16, _is_macos, _macos_version, convert_double_to_float_multiarray_type, rename_feature, save_spec
  from coremltools.proto import Model_pb2
label_desc: Use image node_id 14 for calling the MLModelTest obj's underlying member method code with example usage: obj.test_multiarray_type_convert_to_float() without return types