MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / set_arg

Method set_arg

imperative/python/megengine/traced_module/expr.py:236–260  ·  view source on GitHub ↗
(self, name, val)

Source from the content-addressed store, hash-verified

234 return inspect.getcallargs(func, *self.args, **self.kwargs)
235
236 def set_arg(self, name, val):
237 func = self._get_func()
238 if name in self.kwargs:
239 new_kwargs = self.kwargs
240 new_kwargs[name] = val
241 self.set_args_kwargs(*self.args, **new_kwargs)
242 else:
243 arg_spec = inspect.getfullargspec(func)
244 if name in arg_spec.args:
245 ind = arg_spec.args.index(name)
246 new_args = list(self.args)
247 new_args[ind] = val
248 self.set_args_kwargs(*new_args)
249 elif name == arg_spec.varargs:
250 assert arg_spec.varargs is not None
251 assert len(self.args) >= len(arg_spec.args)
252 val = (val,) if not isinstance(val, Sequence) else val
253 self.set_args_kwargs(*self.args[0 : len(arg_spec.args)], *val)
254 else:
255 assert (
256 arg_spec.varkw is not None
257 ), "func {} does't have argument named {}".format(func, name)
258 new_kwargs = self.kwargs
259 new_kwargs[name] = val
260 self.set_args_kwargs(*self.args, **new_kwargs)
261
262 @property
263 def return_val(self):

Callers 1

conv2df_loaderFunction · 0.80

Calls 4

_get_funcMethod · 0.95
set_args_kwargsMethod · 0.95
listFunction · 0.85
formatMethod · 0.45

Tested by 1

conv2df_loaderFunction · 0.64