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

Method set_args_kwargs

imperative/python/megengine/traced_module/expr.py:186–213  ·  view source on GitHub ↗

r""" Set args and kwargs for Expr.

(self, *args, **kwargs)

Source from the content-addressed store, hash-verified

184 return False
185
186 def set_args_kwargs(self, *args, **kwargs):
187 r""" Set args and kwargs for Expr.
188 """
189 assert (
190 self._support_set_args_kwargs
191 ), "Doesn't support set args/kwargs for {} expr".format(type(self).__name__)
192 args, kwargs = _convert_kwargs_to_args(self._get_func(), args, kwargs)
193 inputs, arg_def = tree_flatten((args, kwargs))
194 orig_inputs = self.inputs
195 self.inputs = []
196 self.const_val = []
197 for val in inputs:
198 if isinstance(val, (TensorNode, ModuleNode)):
199 self.inputs.append(val)
200 else:
201 assert _is_leaf(val) and _is_const_leaf(val)
202 idx = len(self.inputs) + len(self.const_val)
203 self.const_val.append((idx, val))
204
205 for n in orig_inputs:
206 if n not in self.inputs:
207 n.users.remove(self)
208
209 for n in self.inputs:
210 if n not in orig_inputs:
211 n.users.append(self)
212
213 self.arg_def = arg_def
214
215 @property
216 def kwargs(self):

Callers 15

set_argMethod · 0.95
_replace_args_kwargsFunction · 0.80
tensor_gen_func_loaderFunction · 0.80
pad_func_loaderFunction · 0.80
bn_func_loaderFunction · 0.80
matmul_func_loaderFunction · 0.80
square_func_loaderFunction · 0.80
topk_loaderFunction · 0.80
arange_func_loaderFunction · 0.80
linespace_loaderFunction · 0.80
full_func_loaderFunction · 0.80
deconv_loaderFunction · 0.80

Calls 8

_get_funcMethod · 0.95
_convert_kwargs_to_argsFunction · 0.85
tree_flattenFunction · 0.85
_is_const_leafFunction · 0.85
_is_leafFunction · 0.70
formatMethod · 0.45
appendMethod · 0.45
removeMethod · 0.45

Tested by 4

add_opdef_loaderFunction · 0.64
conv2df_loaderFunction · 0.64
add_loaderFunction · 0.64
conv2dm_loaderFunction · 0.64