MCPcopy Index your code
hub / github.com/lutzroeder/netron / markReturnNode

Method markReturnNode

source/python.js:6789–6825  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

6787 }
6788 }
6789 markReturnNode(node) {
6790 if (this._marked.has(node)) {
6791 return false;
6792 }
6793 torch._C.AT_ASSERT(node.owningBlock().return_node() === node);
6794 const outerNode = node.owningBlock().owningNode();
6795 if (outerNode === null || outerNode.kind() === 'prim::Reverse') {
6796 return this.mark(node);
6797 }
6798 if (outerNode.kind() === 'prim::Loop' || outerNode.kind() === 'c10::onnx::Loop') {
6799 const loop = new torch._C.LoopView(outerNode);
6800 for (let i = 0; i < loop.carriedOutputs().length; i++) {
6801 if (outerNode.kind() === 'onnx::Loop') {
6802 this._liveValues.add(loop.bodyCarriedOutputs()[i]);
6803 continue;
6804 }
6805 const innerInput = loop.bodyCarriedInputs()[i];
6806 const innerOutput = loop.bodyCarriedOutputs()[i];
6807 const outerOutput = loop.carriedOutputs()[i];
6808 if (this._liveValues.has(outerOutput) || innerInput.hasUses()) {
6809 this._liveValues.add(innerOutput);
6810 }
6811 }
6812 this._liveValues.add(loop.nextCond());
6813 } else {
6814 torch._C.AT_ASSERT(outerNode.outputs().length === node.inputs().length);
6815 for (let i = 0; i < outerNode.outputs().length; i++) {
6816 const innerOutput = node.inputs()[i];
6817 const outerOutput = outerNode.outputs()[i];
6818 if (!this._liveValues.has(outerOutput)) {
6819 this._liveValues.add(innerOutput);
6820 }
6821 }
6822 }
6823 this._marked.add(node);
6824 return true;
6825 }
6826 markLoop(node) {
6827 torch._C.TORCH_INTERNAL_ASSERT(node.kind() === 'prim::Loop');
6828 let marked = false;

Callers 1

markMethod · 0.80

Calls 14

return_nodeMethod · 0.80
owningBlockMethod · 0.80
owningNodeMethod · 0.80
markMethod · 0.80
carriedOutputsMethod · 0.80
bodyCarriedOutputsMethod · 0.80
bodyCarriedInputsMethod · 0.80
hasUsesMethod · 0.80
nextCondMethod · 0.80
hasMethod · 0.45
kindMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected