code: def test_conv():
      for i in range(5):
          N, H, W, CO, CI, KH, KW = [
              np.random.randint(10, 32) for _ in range(7)
          ]
          (input_dtype, acc_dtype) = random_dtypes()
          D = te.placeholder((N, CI, H, W), dtype=input_dtype)
          K = te.placeholder((CO, CI, KH, KW), dtype=input_dtype)
  
          KH = min(H, KH)
          KW = min(W, KW)
  
          ci = te.reduce_axis((0, CI))
          kh = te.reduce_axis((0, KH))
          kw = te.reduce_axis((0, KW))
  
          OH = (H - KH) + 1
          OW = (W - KW) + 1
  
          C = te.compute(
              (N, CO, OH, OW),
              lambda n, co, h, w: te.sum(
                  D[n][ci][h][w].astype(acc_dtype)
                  * K[co][ci][h][w].astype(acc_dtype),
                  axis=[ci, kh, kw],
              ),
          )
  
          s = te.create_schedule([C.op])
  
          assert compute_flop(s) == 2 * N * CO * OH * OW * CI * KH * KW
  
file_path: tvm/tests/python/autotvm/test_autotvm_flop_calculator.py
imports: import tvm
  from tvm import te
  import numpy
  from tvm.autotvm.task.task import compute_flop
label_desc: Use image node_id 2 for calling a global function with example usage: test_conv() without return types