code: def test_fold_bwd_relu_fail():
      """testcase where we canont fold because scale can not pass relu"""
  
      def before(x, conv_weight, out_scale, channels, blocking):
          y = relay.nn.conv2d(
              x,
              conv_weight,
              channels=channels,
              kernel_size=(3, 3),
              padding=(1, 1),
              data_layout="NCHW{}c".format(blocking[0])
              if blocking
              else "NCHW",
              kernel_layout="OIHW1i{}o".format(blocking[1])
              if blocking
              else "OIHW",
          )
          y = relay.nn.relu(y)
          y = relay.multiply(x, out_scale)
          return relay.Function(relay.analysis.free_vars(y), y)
  
      def check(shape, channels, blocking, out_scale):
          x = relay.var("x", shape=shape)
          in_channels = shape[1]
          weight = relay.var("weight")
          y1 = before(x, weight, out_scale, channels, blocking)
          y1 = run_opt_pass(y1, transform.InferType())
          y1_folded = run_opt_pass(
              y1, transform.BackwardFoldScaleAxis()
          )
          assert tvm.ir.structural_equal(y1, y1_folded)
  
      out_scale = relay.var("in_scale", shape=(4, 1, 1))
      check((4, 4, 10, 10), 4, None, out_scale)
      out_scale = relay.const(
          np.random.uniform(size=(4, 1, 1), low=-1.0, high=0.0)
      ).astype("float32")
      check((4, 4, 10, 10), 4, None, out_scale)
  
      out_scale = relay.var("in_scale", shape=(1, 2, 1, 1, 2))
      check((4, 2, 10, 10, 2), 4, (2, 2), out_scale)
      out_scale = relay.const(
          np.random.uniform(size=(1, 2, 1, 1, 2), low=-1.0, high=0.0)
      ).astype("float32")
      check((4, 2, 10, 10, 2), 4, (2, 2), out_scale)
  
imports: import numpy
  import tvm
  from tvm import te
  from tvm import relay
  from tvm.relay import transform
  from tvm.relay.testing import create_workload
  from tvm.relay.build_module import bind_params_by_name
label_desc: Use image node_id 16 for calling a global function with example usage: test_fold_bwd_relu_fail() and returns: relay