code: def test_fold_qnn_conv2d_qnn_mul():
      def before():
          dtype = "uint8"
          op0 = relay.qnn.op.conv2d(
              relay.const(
                  np.ones((1, 1, 2, 2), dtype=dtype), dtype=dtype
              ),
              relay.const(
                  np.ones((1, 1, 2, 2), dtype=dtype), dtype=dtype
              ),
              input_zero_point=relay.const(0, "int32"),
              kernel_zero_point=relay.const(0, "int32"),
              input_scale=relay.const(1.0, "float32"),
              kernel_scale=relay.const(1.0, "float32"),
              kernel_size=(2, 2),
              channels=1,
          )
          op = relay.qnn.op.mul(
              op0,
              relay.const(np.array([10], dtype="int32"), dtype="int32"),
              relay.const(1.0, dtype="float32"),
              relay.const(0, dtype="int32"),
              relay.const(1.0, dtype="float32"),
              relay.const(0, dtype="int32"),
              relay.const(1.0, dtype="float32"),
              relay.const(0, dtype="int32"),
          )
          func = relay.Function([], op)
          return func
  
      def expected():
          data = relay.const(
              np.array([[[[40]]]], dtype="int32"), dtype="int32"
          )
          func = relay.Function([], data)
          return func
  
      # Nothing changed after applying FoldConstant
      a = run_opt_pass(before(), transform.FoldConstant())
      b = run_opt_pass(before(), transform.InferType())
      tvm.ir.assert_structural_equal(a, b)
  
      # Fold QNN constants
      a = run_opt_pass(before(), transform.FoldConstant(fold_qnn=True))
      b = run_opt_pass(expected(), transform.InferType())
      tvm.ir.assert_structural_equal(a, b)
  
imports: import numpy
  import tvm
  import tvm.testing
  from tvm import relay
  from tvm.relay.backend import Executor
  from tvm.relay import transform
  from tvm.relay.build_module import bind_params_by_name
  from tvm.relay.testing import run_infer_type, create_workload
label_desc: Use image node_id 17 for calling a global function with example usage: test_fold_qnn_conv2d_qnn_mul() and returns: func, func