class_docstr: Relay VM runtime.
  
  Parameters
  ----------
  exe : Executable
      The VM executable.
  
  device : tvm.runtime.Device or List[tvm.runtime.Device]
      The device(s) on which the model will run.
      Currently at most one device per device type is supported.
  
  memory_cfg : str or Dict[tvm.runtime.Device, str], optional
      Config the type of memory allocator. The allocator type can be ["naive",
      "pooled"]. If memory_cfg is None, all devices will use pooled allocator
      by default. If memory_cfg is string, all devices will use the specified
      allocator type. If memory_cfg is a dict, each device uses the allocator
      type specified in the dict, or pooled allocator if not specified in the
      dict.
docstr: Set the input to a function.
  If device type and device id for input tensor are the same as
  for target one the zero copy is used. It means that internal
  tensor is reference to memory allocated by input one.
  Otherwise new internal NDarray is created and data is copied
  
  Parameters
  ----------
  func_name : str
      The name of the function.
  
  args : list[tvm.runtime.NDArray] or list[np.ndarray]
      The arguments to the function.
  
  kwargs: dict of str to tvm.runtime.NDArray or np.ndarray
      Named arguments to the function.
docstr_tok: ["Set","the","input","to","a","function",".","If","device","type","and","device","id","for","input","tensor","are","the","same","as","for","target","one","the","zero","copy","is","used",".","It","means","that","internal","tensor","is","reference","to","memory","allocated","by","input","one",".","Otherwise","new","internal","NDarray","is","created","and","data","is","copied","Parameters","--","--","--","--","--","func_name",":","str","The","name","of","the","function",".","args",":","list","[","tvm.runtime.NDArray","]","or","list","[","np.ndarray","]","The","arguments","to","the","function",".","kwargs",":","dict","of","str","to","tvm.runtime.NDArray","or","np.ndarray","Named","arguments","to","the","function","."]
code: def set_input(self, func_name, *args, **kwargs):
      """Set the input to a function.
      If device type and device id for input tensor are the same as
      for target one the zero copy is used. It means that internal
      tensor is reference to memory allocated by input one.
      Otherwise new internal NDarray is created and data is copied
  
      Parameters
      ----------
      func_name : str
          The name of the function.
  
      args : list[tvm.runtime.NDArray] or list[np.ndarray]
          The arguments to the function.
  
      kwargs: dict of str to tvm.runtime.NDArray or np.ndarray
          Named arguments to the function.
      """
      if kwargs:
          # kwargs is a super set of the required function parameters. We
          # only find the ones that are needed.
          func_params = self._exec.get_function_params(func_name)
          new_args = [None] * len(func_params)
          cnt = 0
          for k in kwargs:
              if k in func_params:
                  idx = func_params.index(k)
                  new_args[idx] = kwargs[k]
                  cnt += 1
          assert len(args) + cnt == len(func_params)
          idx = 0
          for i, arg in enumerate(new_args):
              if arg is None:
                  new_args[i] = args[idx]
                  idx += 1
          args = new_args
      cargs = convert(args)
      self._set_input(func_name, *cargs)
  
imports: import numpy
  import tvm
  from tvm.runtime import Module
  from tvm._ffi.runtime_ctypes import TVMByteArray
  from tvm._ffi import base
  from .object import Object
  from .None import _ffi_api, container
  from ..rpc.base import RPC_SESS_MASK
label_desc: Use image node_id 3 for calling the VirtualMachine obj's underlying member method code with example usage: obj.set_input(func_name) without return types