code: def build_module(
      mod,
      target,
      params=None,
      enable_acl=True,
      tvm_ops=0,
      acl_partitions=1,
      disabled_ops=["concatenate"],
  ):
      """Build module with option to build for ACL."""
      if isinstance(mod, tvm.relay.expr.Call):
          mod = tvm.IRModule.from_expr(mod)
      with tvm.transform.PassContext(
          opt_level=3, disabled_pass=["AlterOpLayout"]
      ):
          if enable_acl:
              mod = arm_compute_lib.partition_for_arm_compute_lib(
                  mod, params, disabled_ops=disabled_ops
              )
              tvm_op_count = get_cpu_op_count(mod)
              assert (
                  tvm_op_count == tvm_ops
              ), "Got {} TVM operators, expected {}".format(
                  tvm_op_count, tvm_ops
              )
              partition_count = 0
              for global_var in mod.get_global_vars():
                  if "arm_compute_lib" in global_var.name_hint:
                      partition_count += 1
  
              assert (
                  acl_partitions == partition_count
              ), "Got {} Arm Compute Library partitions, expected {}".format(
                  partition_count, acl_partitions
              )
          relay.backend.te_compiler.get().clear()
          return relay.build(mod, target=target, params=params)
  
imports: from itertools import zip_longest, combinations
  import json
  import os
  import warnings
  import numpy
  import tvm
  from tvm import relay
  from tvm import rpc
  from tvm.contrib import graph_executor
  from tvm.relay.op.contrib import arm_compute_lib
  from tvm.contrib import utils
  from tvm.autotvm.measure import request_remote
label_desc: Use image node_id 5 for calling a global function with example usage: build_module(mod, target, params, enable_acl, tvm_ops, acl_partitions, disabled_ops) and returns: relay