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

Method wrap

imperative/python/megengine/traced_module/node.py:333–359  ·  view source on GitHub ↗
(cls, value, node)

Source from the content-addressed store, hash-verified

331
332 @classmethod
333 def wrap(cls, value, node):
334 if isinstance(value, (NodeMixin, RawTensor)):
335 if isinstance(node, Node):
336 if isinstance(value, RawTensor):
337 cls._record_tensornode_property(node, value)
338 if isinstance(value, NodeMixin):
339 value._record_wrapped_nodes(node)
340 setattr(value, "_NodeMixin__node", node)
341 if _get_expr_checker():
342 if isinstance(value, RawTensor):
343 active_module_tracer().checker.record_node2value(node, value)
344 if isinstance(value, NodeMixin):
345 active_module_tracer().checker.record_nodemixin(node, value)
346 else:
347 assert callable(node)
348 n = node()
349 assert isinstance(n, Node)
350 if isinstance(value, RawTensor):
351 cls._record_tensornode_property(n, value)
352 if isinstance(value, NodeMixin):
353 value._record_wrapped_nodes(n)
354 setattr(value, "_NodeMixin__node", n)
355 if _get_expr_checker():
356 if isinstance(value, RawTensor):
357 active_module_tracer().checker.record_node2value(n, value)
358 if isinstance(value, NodeMixin):
359 active_module_tracer().checker.record_nodemixin(n, value)
360
361 @classmethod
362 def wrap_safe(cls, value, node):

Callers 6

mainFunction · 0.45
prof_detailsFunction · 0.45
_as_const_nodeFunction · 0.45
_write_docMethod · 0.45
_write_docMethod · 0.45
_write_docMethod · 0.45

Calls 7

_get_expr_checkerFunction · 0.85
active_module_tracerFunction · 0.85
nodeFunction · 0.85
record_node2valueMethod · 0.80
record_nodemixinMethod · 0.80
_record_wrapped_nodesMethod · 0.45

Tested by

no test coverage detected