class_docstr: An abstract interface for executing Relay programs.
class_docstr_tok: ["An","abstract","interface","for","executing","Relay","programs","."]
docstr: Convert the combination of arguments and keyword arguments
  into a sequence of arguments that may be passed to
  a Relay evaluator.
  
  We first provide all positional arguments, and then attempt
  to fill in the remaining arguments using the keyword arguments. We
  map the keyword arguments to the corresponding parameters, if there
  is an ambiguity between positional and keyword arguments this
  procedure will raise an error.
  
  Parameters
  ----------
  expr: relay.Expr
      The expression to evaluate
  
  args: List[tvm.nd.NDArray]
      The arguments to pass to the evaluator.
  
  kwargs: Dict[str, tvm.NDArrray]
      The keyword arguments to pass to the evaluator.
  
  Returns:
      args: List[tvm.nd.NDArray]
          The new arguments with all keyword arguments placed in the correct slot.
docstr_tok: ["Convert","the","combination","of","arguments","and","keyword","arguments","into","a","sequence","of","arguments","that","may","be","passed","to","a","Relay","evaluator",".","We","first","provide","all","positional","arguments",",","and","then","attempt","to","fill","in","the","remaining","arguments","using","the","keyword","arguments",".","We","map","the","keyword","arguments","to","the","corresponding","parameters",",","if","there","is","an","ambiguity","between","positional","and","keyword","arguments","this","procedure","will","raise","an","error",".","Parameters","--","--","--","--","--","expr",":","relay.Expr","The","expression","to","evaluate","args",":","List","[","tvm.nd.NDArray","]","The","arguments","to","pass","to","the","evaluator",".","kwargs",":","Dict","[","str",",","tvm.NDArrray","]","The","keyword","arguments","to","pass","to","the","evaluator",".","Returns",":","args",":","List","[","tvm.nd.NDArray","]","The","new","arguments","with","all","keyword","arguments","placed","in","the","correct","slot","."]
code: def _convert_args(self, expr, args, kwargs):
      """
      Convert the combination of arguments and keyword arguments
      into a sequence of arguments that may be passed to
      a Relay evaluator.
  
      We first provide all positional arguments, and then attempt
      to fill in the remaining arguments using the keyword arguments. We
      map the keyword arguments to the corresponding parameters, if there
      is an ambiguity between positional and keyword arguments this
      procedure will raise an error.
  
      Parameters
      ----------
      expr: relay.Expr
          The expression to evaluate
  
      args: List[tvm.nd.NDArray]
          The arguments to pass to the evaluator.
  
      kwargs: Dict[str, tvm.NDArrray]
          The keyword arguments to pass to the evaluator.
  
      Returns:
          args: List[tvm.nd.NDArray]
              The new arguments with all keyword arguments placed in the correct slot.
      """
      assert expr is not None
  
      if not kwargs:
          return args
  
      if kwargs and not isinstance(expr, Function):
          raise Exception(
              f"can only supply keyword parameters for a relay.Function, found {expr}"
          )
  
      params = expr.params
      param_names = [p.name_hint for p in params]
      num_of_args = len(args)
  
      cargs = list(args)[:]
      for i, name in enumerate(param_names):
          if i < num_of_args:
              if kwargs.get(name):
                  raise Exception(
                      f"duplicate argument supplied in "
                      f"both positional args (at position: {i}), "
                      f"and keyword argument (with name: {name})"
                  )
          else:
              cargs.append(kwargs[name])
  
      if len(cargs) != len(params):
          raise Exception(
              f"insufficient arguments, expected "
              f"{len(cargs)}, provided {len(params)}"
          )
  
      return tuple(cargs)
  
imports: from __future__ import absolute_import
  import numpy
  import tvm._ffi
  from tvm.runtime import container, Object
  from .None import _backend
  from ..None import _make, analysis
  from ...None import nd
  from ..expr import Tuple, RefCreate, Call, Constant, GlobalVar, const
  from ..function import Function
  from ..scope_builder import ScopeBuilder
label_desc: Use image node_id 1 for calling the Executor obj's underlying member method code with example usage: obj._convert_args(expr, args, kwargs) and returns: tuple, args