class_docstr: An implementation of the executor interface for
  the Relay VM.
  
  Useful interface for experimentation and debugging
  the VM can also be used directly from the API.
  supported by `tvm.runtime.vm`.
  
  Parameters
  ----------
  mod : :py:class:`~tvm.IRModule`
      The module to support the execution.
  
  device : :py:class:`~tvm.runtime.Device`
      The runtime device to run the code on.
  
  target : any multi-target like object, see Target.canon_multi_target
      For homogeneous compilation, the unique build target.
      For heterogeneous compilation, a dictionary or list of possible build targets.
code: def _make_executor(self, expr=None):
      if expr:
          self.mod["main"] = expr
  
      self.executable = compile(self.mod, self.target)
      self.vm = vm_rt.VirtualMachine(self.executable, self.device)
  
      def _vm_wrapper(*args, **kwargs):
          args = self._convert_args(self.mod["main"], args, kwargs)
          return self.vm.run(*args)
  
      return _vm_wrapper
  
imports: import numpy
  import tvm.runtime.ndarray
  import tvm.runtime.vm
  from tvm import autotvm
  from tvm.relay import expr
  from tvm.relay.backend.interpreter import Executor
  from tvm.target import Target
  from .None import _vm
label_desc: Use image node_id 2 for calling the VMExecutor obj's underlying member method code with example usage: obj._make_executor(expr) and returns: _vm_wrapper, self