code: def test_builder_to_backend_smoke(self, compute_unit, backend):
      x_val = np.array(
          [[[1.0, -7.0], [5.0, -6.0], [-3.0, -5.0]]], dtype=np.float32
      )
      input_placeholders = {"x": mb.placeholder(shape=x_val.shape)}
      input_values = {"x": x_val}
      gamma_val = np.array([1.0, 1.0], dtype=np.float32)
      beta_val = np.array([1.0, 0.0], dtype=np.float32)
  
      def build(x):
          return [
              # V2->V1 lowering (op_mappings.py): if branch
              mb.layer_norm(x=x, axes=[2], epsilon=1e-4),
              # V2->V1 lowering (op_mappings.py): else branch
              mb.layer_norm(x=x, axes=[-2, -1], epsilon=1e-4),
              # V2->V1 lowering (op_mappings.py): if branch with scale
              mb.layer_norm(
                  x=x,
                  axes=[2],
                  epsilon=1e-4,
                  gamma=gamma_val,
                  beta=beta_val,
              ),
          ]
  
      expected_output_types = [
          (1, 3, 2, types.fp32),
          (1, 3, 2, types.fp32),
          (1, 3, 2, types.fp32),
      ]
      expected_outputs = [
          np.array(
              [
                  [
                      [0.9999969, -0.9999969],
                      [0.99999833, -0.99999833],
                      [0.99995005, -0.99995005],
                  ]
              ],
              dtype=np.float32,
          ),
          np.array(
              [
                  [
                      [0.82687193, -1.06312108],
                      [1.77186835, -0.82687193],
                      [-0.11812456, -0.59062278],
                  ]
              ],
              dtype=np.float32,
          ),
          np.array(
              [
                  [
                      [1.9999969, -0.9999969],
                      [1.99999833, -0.99999833],
                      [1.99995005, -0.99995005],
                  ]
              ],
              dtype=np.float32,
          ),
      ]
  
      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 3 for calling the TestNormalizationLayerNorm obj's underlying member method code with example usage: obj.test_builder_to_backend_smoke(compute_unit, backend) and returns: list