code: def test_builder_to_backend_smoke(self, use_cpu_only, backend):
      x = np.array([[[[1], [2], [3]]]], dtype=np.float32)
      input_placeholders = {"x": mb.placeholder(shape=x.shape)}
  
      input_values = {"x": x}
  
      def build(x):
          return [
              mb.squeeze(x=x, axes=(-1,)),
              mb.squeeze(x=x, axes=(-3, 0)),
              mb.squeeze(x=x, axes=(0, 1, 3)),
              mb.squeeze(x=x),
          ]
  
      expected_output_types = [
          (1, 1, 3, types.fp32),
          (3, 1, types.fp32),
          (3, types.fp32),
          (3, types.fp32),
      ]
  
      expected_outputs = [
          np.array([[[1, 2, 3]]], dtype=np.float32),
          np.array([[1], [2], [3]], dtype=np.float32),
          np.array([1, 2, 3], dtype=np.float32),
          np.array([1, 2, 3], dtype=np.float32),
      ]
  
      run_compare_builder(
          build,
          input_placeholders,
          input_values,
          expected_output_types,
          expected_outputs,
          use_cpu_only=use_cpu_only,
          backend=backend,
      )
  
imports: from coremltools.converters.mil import testing_reqs
  from coremltools.converters.mil.mil import get_new_symbol, get_new_variadic_symbol
  from coremltools.converters.mil.testing_reqs import *
  from .testing_utils import UNK_SYM, UNK_VARIADIC, run_compare_builder
label_desc: Use image node_id 1 for calling the TestSqueeze obj's underlying member method code with example usage: obj.test_builder_to_backend_smoke(use_cpu_only, backend) and returns: list