code: def verify_lrn(
      shape,
      size,
      axis,
      bias,
      alpha,
      beta,
      dtype="float32",
      rtol=1e-5,
      atol=1e-5,
  ):
      A = te.placeholder(shape, dtype=dtype, name="A")
      B = topi.nn.lrn(A, size, axis, alpha, beta, bias)
  
      a_np = np.random.uniform(size=shape).astype(dtype)
      b_np = tvm.topi.testing.lrn_python(
          a_np, size, axis, bias, alpha, beta
      )
  
      def check_device(device):
          if not tvm.testing.device_enabled(device):
              print("Skip because %s is not enabled" % device)
              return
          print("Running on target: %s" % device)
          with tvm.target.Target(device):
              s_func = tvm.topi.testing.dispatch(device, _lrn_schedule)
              s = s_func([B])
          dev = tvm.device(device, 0)
          a = tvm.nd.array(a_np, dev)
          b = tvm.nd.array(
              np.zeros(get_const_tuple(B.shape), dtype=dtype), dev
          )
          f = tvm.build(s, [A, B], device)
          f(a, b)
          tvm.testing.assert_allclose(
              b.numpy(), b_np, rtol=rtol, atol=atol
          )
  
      for device in [
          "llvm",
          "cuda",
          "opencl",
          "metal",
          "rocm",
          "vulkan",
          "nvptx",
      ]:
          check_device(device)
  
file_path: tvm/tests/python/topi/test_topi_lrn.py
imports: import numpy
  import tvm
  from tvm import te
  from tvm import topi
  from tvm.topi.utils import get_const_tuple
  import tvm.topi.testing
  import tvm.testing
label_desc: Use image node_id 1 for calling a global function with example usage: verify_lrn(shape, size, axis, bias, alpha, beta, dtype, rtol, atol) without return types