code: def test_squeeze_different_data_types(
      self, compute_unit, backend, x_dtype
  ):
      def build(x):
          return mb.squeeze(x=x, axes=(-1,))
  
      x_val = np.array([[[[1], [2], [3]]]], dtype=x_dtype)
      x_builtin_dtype = numpy_type_to_builtin_type(x_dtype)
      input_placeholders = {
          "x": mb.placeholder(shape=x_val.shape, dtype=x_builtin_dtype)
      }
      input_values = {"x": x_val}
      expected_outputs = np.squeeze(x_val, -1)
      expected_output_types = tuple(expected_outputs.shape) + (
          x_builtin_dtype,
      )
      run_compare_builder(
          build,
          input_placeholders,
          input_values,
          expected_output_types,
          expected_outputs,
          compute_unit=compute_unit,
          backend=backend,
      )
  
imports: import itertools
  import numpy
  import pytest
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.ops.tests.iOS14.test_tensor_transformation import TestSliceByIndex
  from coremltools.converters.mil.mil.ops.tests.iOS14.test_tensor_transformation import TestSliceBySize
  from coremltools.converters.mil.mil.ops.tests.iOS16.test_tensor_transformation import TestReshapeLike
  from coremltools.converters.mil.mil.ops.tests.iOS17 import backends
  from coremltools.converters.mil.mil.ops.tests.testing_utils import run_compare_builder
  from coremltools.converters.mil.mil.types.type_mapping import numpy_type_to_builtin_type
  from coremltools.converters.mil.testing_reqs import compute_units
label_desc: Use image node_id 1 for calling the TestSqueeze obj's underlying member method code with example usage: obj.test_squeeze_different_data_types(compute_unit, backend, x_dtype) and returns: mb