code: def test_tuple_object():
      x = relay.var(
          "x",
          type_annotation=relay.ty.TupleType(
              [
                  relay.ty.TensorType((), "int32"),
                  relay.ty.TensorType((), "int32"),
              ]
          ),
      )
  
      fn = relay.Function([x], relay.expr.TupleGetItem(x, 0))
      mod = tvm.IRModule.from_expr(fn)
  
      f = relay.create_executor(
          kind="vm", mod=mod, device=nd.cpu(), target="llvm"
      ).evaluate()
      value_tuple = _container.tuple_object(
          [nd.array(np.array(11)), nd.array(np.array(12))]
      )
      # pass an ADT object to evaluate
      out = f(value_tuple)
      tvm.testing.assert_allclose(out.numpy(), np.array(11))
  
file_path: tvm/tests/python/runtime/test_runtime_container.py
imports: import numpy
  import random
  import tvm
  import tvm.testing
  import pickle
  from tvm import te
  from tvm import nd, relay
  from tvm.runtime import container
label_desc: Use image node_id 2 for calling a global function with example usage: test_tuple_object() without return types