code: def test_extern_dnnl_mobilenet():
      if not tvm.get_global_func("relay.ext.dnnl", True):
          print("skip because DNNL codegen is not available")
          return
  
      dtype = "float32"
      ishape = (1, 3, 224, 224)
      mod, params = relay.testing.mobilenet.get_workload(
          batch_size=1, dtype="float32"
      )
  
      mod["main"] = relay.build_module.bind_params_by_name(
          mod["main"], params
      )
      mod = transform.AnnotateTarget("dnnl")(mod)
      mod = transform.PartitionGraph()(mod)
      i_data = np.random.uniform(0, 1, ishape).astype(dtype)
  
      ref_mod, params = relay.testing.mobilenet.get_workload(
          batch_size=1, dtype="float32"
      )
      ref_res = relay.create_executor(
          "graph", mod=ref_mod, device=tvm.cpu(0)
      ).evaluate()(i_data, **params)
  
      check_result(
          mod,
          {"data": i_data},
          (1, 1000),
          ref_res.numpy(),
          tol=1e-5,
          params=params,
      )
  
imports: import os
  import sys
  import numpy
  import pytest
  import tvm
  import tvm.relay.testing
  import tvm.relay.transform
  from tvm import relay
  from tvm import runtime
  from tvm.contrib import utils
label_desc: Use image node_id 3 for calling a global function with example usage: test_extern_dnnl_mobilenet() without return types