code: def simulated_dequantize(
      data, input_scale, input_zero_point, axis=-1, in_dtype="int8"
  ):
      r"""Simulated Dequantize op
      Mimics the dequantize op but has more flexibility in valid inputs and always
      outputs the same type as the input. This can be useful for calibrating or
      training a quantized network.
  
      Parameters
      ----------
      data : tvm.relay.Expr
          The input tensor to be dequantized.
  
      in_dtype : string or tvm.relay.Expr
          A string or tensor indicating which datatype to dequantize from.
  
      input_scale : tvm.relay.Expr
          The input scale.
  
      input_zero_point : tvm.relay.Expr
          The input zero_point.
  
      axis : int
          The channel axis for quantization. Default value is -1 which corresponds to the last axis.
  
      Returns
      -------
      result : tvm.relay.Expr
          The computed result.
      """
      # Convert string dtype to a constant if needed.
      if isinstance(in_dtype, str):
          type_code = SQNN_DTYPE_TO_CODE[in_dtype]
          in_dtype = relay.const(type_code, dtype="int32")
      # Wrap reshapes around qnn parameter tensors to guarantee shape compatibility.
      input_scale = relay.op.reshape(input_scale, [-1])
      input_zero_point = relay.op.reshape(input_zero_point, [-1])
      return _make.simulated_dequantize(
          data, in_dtype, input_scale, input_zero_point, axis
      )
  
imports: from __future__ import absolute_import
  import tvm
  import tvm.ir
  from tvm import relay
  from tvm.relay.expr import Tuple, TupleWrapper
  from tvm.relay.op.nn.utils import get_pad_tuple2d
  from tvm.runtime import Object
  from tvm.target import Target
  from tvm.topi.nn.qnn import SQNN_DTYPE_TO_CODE
  from tvm.target.x86 import target_has_features
  from .None import _make, _requantize
label_desc: Use image node_id 7 for calling a global function with example usage: simulated_dequantize(data, input_scale, input_zero_point, axis, in_dtype) and returns: _make