code: def test_builder_to_backend_smoke(
      self, compute_unit, backend, x_param_dtype
  ):
      x_dtype, param_dtype = x_param_dtype
      x_builtin_dtype = types.numpy_type_to_builtin_type(x_dtype)
  
      if x_dtype == np.float16 and backend.backend == "neuralnetwork":
          pytest.skip("No need to test fp16 for neuralnetwork backend.")
  
      x_val = np.array(
          [
              [
                  [[-16.0, 13.0], [11.0, -16.0]],
                  [[13.0, -15.0], [13.0, 9.0]],
                  [[-9.0, -4.0], [-6.0, 3.0]],
              ]
          ],
          dtype=x_dtype,
      )
      mean_val = np.array([9.0, 6.0, 3.0], dtype=param_dtype)
      variance_val = np.array([6.0, 1.0, 7.0], dtype=param_dtype)
      gamma_val = np.array([1.0, 1.0, 1.0], dtype=param_dtype)
      beta_val = np.array([1.0, 3.0, 0.0], dtype=param_dtype)
      input_placeholders = {
          "x": mb.placeholder(shape=x_val.shape, dtype=x_builtin_dtype)
      }
      input_values = {"x": x_val}
  
      def build(x):
          return [
              mb.batch_norm(x=x, mean=mean_val, variance=variance_val),
              mb.batch_norm(
                  x=x,
                  mean=mean_val,
                  variance=variance_val,
                  gamma=gamma_val,
                  beta=beta_val,
                  epsilon=param_dtype(1e-4),
              ),
          ]
  
      expected_output_types = [
          (1, 3, 2, 2, x_builtin_dtype),
          (1, 3, 2, 2, x_builtin_dtype),
      ]
      expected_outputs = [
          np.array(
              [
                  [
                      [
                          [-10.206199, 1.6329918],
                          [0.8164959, -10.206199],
                      ],
                      [[6.999965, -20.999895], [6.999965, 2.9999852]],
                      [[-4.53557, -2.6457493], [-3.4016776, 0.0]],
                  ]
              ],
              dtype=x_dtype,
          ),
          np.array(
              [
                  [
                      [[-9.206122, 2.6329796], [1.8164899, -9.206122]],
                      [[9.99965, -17.998951], [9.99965, 5.9998503]],
                      [[-4.535541, -2.6457324], [-3.4016557, 0.0]],
                  ]
              ],
              dtype=x_dtype,
          ),
      ]
  
      run_compare_builder(
          build,
          input_placeholders,
          input_values,
          expected_output_types,
          expected_outputs,
          compute_unit=compute_unit,
          backend=backend,
      )
  
imports: import itertools
  import platform
  import numpy
  import pytest
  import coremltools
  from coremltools._deps import _HAS_TF_2, _HAS_TORCH, MSG_TF2_NOT_FOUND, MSG_TORCH_NOT_FOUND
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import Function, get_new_symbol, types
  from coremltools.converters.mil.mil.ops.tests.iOS14 import backends
  from coremltools.converters.mil.mil.ops.tests.testing_utils import UNK_SYM, construct_inputs_from_placeholders, run_compare_builder
  from coremltools.converters.mil.testing_reqs import compute_units
  from coremltools.converters.mil.testing_utils import random_gen
label_desc: Use image node_id 1 for calling the TestNormalizationBatchNorm obj's underlying member method code with example usage: obj.test_builder_to_backend_smoke(compute_unit, backend, x_param_dtype) and returns: list