class_docstr: For general quantized operators, in Core ML, we represent them as
  ``dequantize -> the floating-point version of this operator -> quantize``,
  because mathematically it is the floating-point tensor rather than
  its quantized integer representation that gets operated upon.
  
  For some quantized operators that do not involve floating-point arithmetic,
  however, it is unnecessary to prepend ``dequantize`` and append ``quantize``.
  Examples are:
  
  * reshape
class_docstr_tok: ["For","general","quantized","operators",",","in","Core","ML",",","we","represent","them","as","``","dequantize","-",">","the","floating-point","version","of","this","operator","-",">","quantize","``",",","because","mathematically","it","is","the","floating-point","tensor","rather","than","its","quantized","integer","representation","that","gets","operated","upon",".","For","some","quantized","operators","that","do","not","involve","floating-point","arithmetic",",","however",",","it","is","unnecessary","to","prepend","``","dequantize","``","and","append","``","quantize","``",".","Examples","are",":","*","reshape"]
code: def build_int_op(
      dequantize: Operation, op: Operation, quantize: Operation
  ) -> Var:
      if op.op_type == "reshape":
          return mb.reshape(
              x=dequantize.input,
              shape=op.shape,
              name=quantize.outputs[0].name,
              before_op=op,
          )
  
      raise NotImplementedError(
          f"no build method implemented for int op {op.op_type}"
      )
  
imports: from typing import Tuple
  import numpy
  import coremltools.converters.mil.mil.types
  from coremltools.converters.mil._deployment_compatibility import AvailableTarget
  from coremltools.converters.mil.mil import Block
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import Operation, Var
  from coremltools.converters.mil.mil.passes.graph_pass import AbstractGraphPass
  from coremltools.converters.mil.mil.passes.helper import _check_child_op_type, _check_no_output_connection, block_context_manager
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
label_desc: Use image node_id 5 for calling the int_op_canonicalization obj's underlying member method code with example usage: obj.build_int_op(dequantize, op, quantize) and returns: mb