code: def _make_mod_and_params(dtype):
      """Create a Relay module and parameters to test the given datatype."""
      param_decls = collections.OrderedDict()
      param_init = {}
  
      def _add_decl(name, dtype):
          param_decls[
              name
          ] = f"%{name} : Tensor[{KERNEL_SHAPE}, {dtype}]"
          param_init[name] = _make_random_tensor(dtype, KERNEL_SHAPE)
  
      # Add several parameters so that the number of parameters
      _add_decl(f"{dtype}_a", dtype)
      _add_decl(f"{dtype}_b", dtype)
  
      mod_lines = [
          '#[version = "0.0.5"]',
          f"def @main(%rand_input : Tensor[{INPUT_SHAPE}, {dtype}], { ', '.join(param_decls.values()) } )  {{",
          # This program ensures that GraphPlanMemory alternates between the same two storage IDs for a
          # while. In doing this, it ensures that param %{dtype}_b will be placed into the graph at an
          # index unequal to its storage_id. This ensures that GraphExecutorCodegen encodes the storage_id
          # and not the parameter index into the graph.
          (
              f'    %0 = nn.conv2d(%rand_input, %{dtype}_a, data_layout="NCHW", kernel_layout="OIHW", '
              f'kernel_size=[3, 3], out_dtype="{dtype}");'
          ),
          (
              f'    %1 = nn.conv2d(%0, %{dtype}_a, data_layout="NCHW", kernel_layout="OIHW", '
              f'kernel_size=[3, 3], out_dtype="{dtype}");'
          ),
          (
              f'    %2 = nn.conv2d(%1, %{dtype}_a, data_layout="NCHW", kernel_layout="OIHW", '
              f'kernel_size=[3, 3], out_dtype="{dtype}");'
          ),
          (
              f'    %3 = nn.conv2d(%2, %{dtype}_b, data_layout="NCHW", kernel_layout="OIHW", '
              f'kernel_size=[3, 3], out_dtype="{dtype}");'
          ),
          "    %3",
          "}",
      ]
  
      mod = tvm.relay.fromtext("\n".join(mod_lines))
      return mod, param_init
  
imports: import collections
  import ctypes
  import json
  import os
  import re
  from contextlib import redirect_stderr
  from io import StringIO
  import numpy
  import tvm
  import tvm.relay
  import tvm.testing
  from tvm import meta_schedule
  from tvm import relay
  from tvm.contrib import utils
  from tvm.relay.backend import Executor, Runtime
label_desc: Use image node_id 6 for calling a global function with example usage: _make_mod_and_params(dtype) and returns: mod,  param_init