code: def _darknet_conv2d(inputs, params, attrs, prefix):
      """Process the convolution 2d operation."""
      new_attrs = {}
      kernel = attrs.get("kernel")
      strides = attrs.get("stride", 1)
      pads = attrs.get("pad", 0)
  
      new_attrs["channels"] = attrs.get("num_filter")
      new_attrs["kernel_size"] = (kernel, kernel)
      new_attrs["strides"] = (strides, strides)
      new_attrs["padding"] = (pads, pads)
      new_attrs["dilation"] = attrs.get("dilate", (1, 1))
      new_attrs["groups"] = attrs.get("num_group", 1)
  
      weight = _get_param_var(params, prefix, "weight")
      out = get_relay_op("conv2d")(*inputs, weight=weight, **new_attrs)
  
      use_bias = not attrs.get("use_batchNorm", False)
      if use_bias:
          new_attrs = {}
          new_attrs["axis"] = 1
          bias = _get_param_var(params, prefix, "bias")
          out = get_relay_op("bias_add")(out, bias=bias, **new_attrs)
      else:
          new_attrs = {}
          new_attrs["epsilon"] = 0.000001
          gamma = _get_param_var(params, prefix, "gamma")
          beta = _get_param_var(params, prefix, "beta")
          moving_mean = _get_param_var(params, prefix, "moving_mean")
          moving_var = _get_param_var(params, prefix, "moving_var")
          out = get_relay_op("batch_norm")(
              out, gamma, beta, moving_mean, moving_var, **new_attrs
          )
  
      if "activation" in attrs:
          new_attrs = {}
          new_attrs["activation"] = attrs["activation"]
          new_attrs["slope"] = 0.1
          out = _darknet_activations(out, None, new_attrs)
      return out
  
imports: from enum import Enum
  import numpy
  import tvm
  from tvm.ir import IRModule
  from ..None import analysis
  from ..None import expr
  from ..None import function
  from .common import get_relay_op, new_var
label_desc: Use image node_id 7 for calling a global function with example usage: _darknet_conv2d(inputs, params, attrs, prefix) and returns: out