From 02d5b204405eee2dd291f3de29ef63419caf6f88 Mon Sep 17 00:00:00 2001 From: ZhangGe6 Date: Sat, 4 Jun 2022 20:46:49 +0800 Subject: [PATCH] get schema in view.js#activeGraph --- docs/onnx_modifier_logo.png | Bin 29077 -> 0 bytes static/onnx.js | 22 ++++++++---- static/view-grapher.js | 2 ++ static/view-sidebar.js | 45 +++++++++++++++++++----- static/view.js | 66 ++++++++++++++++++++++++++++++++++-- 5 files changed, 118 insertions(+), 17 deletions(-) delete mode 100644 docs/onnx_modifier_logo.png diff --git a/docs/onnx_modifier_logo.png b/docs/onnx_modifier_logo.png deleted file mode 100644 index 73e8c90ffc3674088d6ebd940bf46e5888675f5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29077 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 C-CwZ) diff --git a/static/onnx.js b/static/onnx.js index 59ebd9d..873eb2b 100644 --- a/static/onnx.js +++ b/static/onnx.js @@ -334,7 +334,7 @@ onnx.Model = class { for (const func of model.functions || []) { context.metadata.add(new onnx.Function(context, func)); } - // var tmp = this.supported_ops + // var tmp = this.supported_nodes const graphs = [ model.graph ]; while (graphs.length > 0) { const graph = graphs.shift(); @@ -407,17 +407,17 @@ onnx.Model = class { return this._graphs; } - get supported_ops() { - console.log(this.graphMetadata); - var ops = [] + get supported_nodes() { + // console.log(this.graphMetadata); + var nodes = [] for (const domain of this.graphMetadata._metadata._map.keys()) { // console.log(domain) for (const op of this.graphMetadata._metadata._map.get(domain).keys()) { // console.log(op) - ops.push(op) + nodes.push([domain, op]) } } - return ops + return nodes } }; @@ -434,6 +434,7 @@ onnx.Graph = class { this._description = graph.doc_string || ''; context = new onnx.GraphContext(context, graph.node); + this._context = context; // model parameter assignment here! // console.log(graph) @@ -510,6 +511,15 @@ onnx.Graph = class { toString() { return 'graph(' + this.name + ')'; } + + make_empty_node (node_info) { + // type of node_info == LightNodeInfo + const schema = this._context.metadata.type(node_info.properties.get('op_type'), node_info.properties.get('domain')); + console.log(schema) + + + } + }; onnx.Parameter = class { diff --git a/static/view-grapher.js b/static/view-grapher.js index 722be6e..b2f5271 100644 --- a/static/view-grapher.js +++ b/static/view-grapher.js @@ -20,6 +20,8 @@ grapher.Graph = class { this._pathArgumentNames = new Set(); // the name of arguments which occurs in both sides of an edge this._renameMap = new Map(); + + this._addedNode = []; } get options() { diff --git a/static/view-sidebar.js b/static/view-sidebar.js index 7ef7f66..2548e1b 100644 --- a/static/view-sidebar.js +++ b/static/view-sidebar.js @@ -221,6 +221,8 @@ sidebar.NodeSidebar = class { this.add_separator(this._elements, 'sidebar-view-separator'); this._addHeader('Add children node'); this._addDropdownSelector('AddChildrenNode'); + this.add_span() + this._addButton('Add Node'); } @@ -341,17 +343,44 @@ sidebar.NodeSidebar = class { this._host._view._graph.reset_node(this._modelNodeName) }); } - } - _addDropdownSelector() { - const selectorElement = this._host.document.createElement('SELECT'); - this._elements.push(selectorElement); - // console.log(this._host._view._model.supported_ops) - for (const op of this._host._view._model.supported_ops) { - var option = new Option(op, op); - selectorElement.appendChild(option); + if (title === 'Add Node') { + buttonElement.addEventListener('click', () => { + // console.log(this.add_op_type) + this._host._view._graph.add_node(this.add_op_domain, this.add_op_type) + }); } + } + + _addDropdownSelector(title) { + if (title === 'AddChildrenNode') { + const selectorElement = this._host.document.createElement('SELECT'); + selectorElement.setAttribute('id', 'sidebar-AddChildrenNode'); + this._elements.push(selectorElement); + // console.log(this._host._view._model.supported_nodes) + for (const node of this._host._view._model.supported_nodes) { + // node: [domain, op] + // console.log(node) + // console.log(node[0]) + // console.log(node[1]) + + var option = new Option(node[1], node[0] + ':' + node[1]); + // console.log(option) + selectorElement.appendChild(option); + } + + var selected_val = selectorElement.options[selectorElement.selectedIndex].value + this.add_op_domain = selected_val.split(':')[0] + this.add_op_type = selected_val.split(':')[1] + // console.log(selectorElement.options[selectorElement.selectedIndex].text) + // console.log(selectorElement.options[selectorElement.selectedIndex].value) + selectorElement.addEventListener('change', () => { + var selected_val = selectorElement.options[selectorElement.selectedIndex].value + this.add_op_domain = selected_val.split(':')[0] + this.add_op_type = selected_val.split(':')[1] + }); + } } toggleInput(name) { diff --git a/static/view.js b/static/view.js index 72258fe..04b7980 100644 --- a/static/view.js +++ b/static/view.js @@ -457,7 +457,23 @@ view.View = class { } get activeGraph() { - return Array.isArray(this._graphs) && this._graphs.length > 0 ? this._graphs[0] : null; + // return Array.isArray(this._graphs) && this._graphs.length > 0 ? this._graphs[0] : null; + var active_graph = Array.isArray(this._graphs) && this._graphs.length > 0 ? this._graphs[0] : null; + // console.log(this._addedNode) + // console.log(active_graph) + + if (this.lastViewGraph) { + // console.log(this.lastViewGraph._addedNode) + for (const node of this.lastViewGraph._addedNode) { + // console.log(node) + var empty_node = active_graph.make_empty_node(node) + + + + } + } + + return active_graph } _updateGraph(model, graphs) { @@ -468,9 +484,10 @@ view.View = class { this._model = model; this._graphs = graphs; } + this.lastViewGraph = this._graph; + const graph = this.activeGraph; - - this.lastViewGraph = this._graph; + // console.log("_updateGraph is called"); return this._timeout(100).then(() => { if (graph && graph != lastGraphs[0]) { @@ -568,6 +585,7 @@ view.View = class { // console.log('node state of lastViewGraph is loaded') viewGraph._modelNodeName2State = this.lastViewGraph._modelNodeName2State; viewGraph._renameMap = this.lastViewGraph._renameMap; + viewGraph._addedNode = this.lastViewGraph._addedNode; // console.log(viewGraph._renameMap); // console.log(viewGraph._modelNodeName2State) } @@ -850,6 +868,9 @@ view.Graph = class extends grapher.Graph { this.model = model; this._arguments = new Map(); this._nodeKey = 0; + + // the node key of custom added node + this._add_nodeKey = 0; } createNode(node) { @@ -1010,6 +1031,12 @@ view.Graph = class extends grapher.Graph { } } + + // custom added node + for (const node of this._addedNode) { + + } + for (const output of graph.outputs) { const viewOutput = this.createOutput(output); for (const argument of output.arguments) { @@ -1072,6 +1099,29 @@ view.Graph = class extends grapher.Graph { this._renameMap.get(modelNodeName).set(src_name, dst_name); } + add_node(op_domain, op_type) { + // node_name: the added op name + // parent_node_name: parent modelNodeName + // console.log(node_name) + + var node_id = (this._add_nodeKey++).toString(); // in case input (onnx) node has no name + var modelNodeName = 'custom_added_' + op_type + node_id + + // console.log(op_type) + // console.log(modelNodeName) + + var properties = new Map() + properties.set('domain', op_domain) + properties.set('op_type', op_type) + properties.set('name', modelNodeName) + + // console.log(properties) + + this._addedNode.push(new view.LightNodeInfo(properties)) + console.log(this._addedNode) + + } + build(document, origin) { for (const argument of this._arguments.values()) { @@ -1233,6 +1283,7 @@ view.Node = class extends grapher.Node { } }; + view.Input = class extends grapher.Node { constructor(context, value) { @@ -1291,6 +1342,15 @@ view.Output = class extends grapher.Node { } }; +view.LightNodeInfo = class { + constructor(properties, attributes, inputs, outputs) { + this.properties = properties + this.attributes = attributes || [] + this.inputs = inputs || [] + this.outputs = outputs || [] + } +} + view.Argument = class { constructor(context, argument) {