code: def test_smoke_builder_to_backend_quantize_per_channel(
      self, compute_unit, backend
  ):
      def build(x):
          x = mb.cast(x=x, dtype="fp16")
          quantized = mb.quantize(
              input=x,
              zero_point=np.uint8([10, 0]),
              scale=np.float16([0.1, 0.01]),
              axis=0,
              output_dtype="uint8",
          )
          # TODO(rdar://107430678): Replace scale=1 zero_point=0 quantize/dequantize with cast
          dequantized = mb.dequantize(
              input=quantized,
              scale=np.float16(1),
          )
          return dequantized
  
      x = np.array([[-1.0, 0.0], [1.0, 2.0]], dtype=np.float16)
      expected_output = np.array(
          [[0, 10], [100, 200]], dtype=np.float16
      )
      expected_output_type = expected_output.shape + (
          numpy_type_to_builtin_type(expected_output.dtype),
      )
      run_compare_builder(
          build,
          input_placeholders={"x": mb.placeholder(shape=x.shape)},
          input_values={"x": x},
          expected_output_types=[expected_output_type],
          expected_outputs=[expected_output],
          compute_unit=compute_unit,
          backend=backend,
      )
  
imports: import itertools
  from typing import Tuple
  import numpy
  import pytest
  from coremltools._deps import _HAS_TORCH, MSG_TORCH_NOT_FOUND
  from coremltools.converters.mil.mil import Builder
  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 import builtin_to_string, numpy_type_to_builtin_type
  from coremltools.converters.mil.testing_reqs import BackendConfig, compute_units
  from coremltools.converters.mil.testing_utils import ssa_fn
label_desc: Use image node_id 6 for calling the TestQuantize obj's underlying member method code with example usage: obj.test_smoke_builder_to_backend_quantize_per_channel(compute_unit, backend) and returns: dequantized