From a11ca520c4a41ea56e3935111ce6c6c5710ae2e4 Mon Sep 17 00:00:00 2001 From: ZhangGe6 Date: Sun, 1 May 2022 11:14:13 +0800 Subject: [PATCH] change the logo and links in the index page --- readme.md | 12 ++-- readme_zh-CN.md.md | 6 +- static/favicon.ico | Bin 34494 -> 0 bytes static/icon.png | Bin 58106 -> 0 bytes static/index.js | 40 ++----------- static/logo.svg | 95 +++++++++++++++++++++++++++++++ templates/index.html | 130 +++---------------------------------------- 7 files changed, 119 insertions(+), 164 deletions(-) delete mode 100644 static/favicon.ico delete mode 100644 static/icon.png create mode 100644 static/logo.svg diff --git a/readme.md b/readme.md index a299223..5058ace 100644 --- a/readme.md +++ b/readme.md @@ -56,9 +56,9 @@ Click `Open Model...` to upload the ONNX model to edit. The model will be parsed Graph-level-operation elements are placed on the left-top of the page. Currently, there are three buttons: `Preview`,`Reset` and `Download`. They can do: -- `Preview`:Preview the result model graph with all current modifications applied ; -- `Reset`:Reset the model graph to its initial state; -- `Download`:Save the modified model into disk. +- `Preview`: Preview the result model graph with all current modifications applied; +- `Reset`: Reset the model graph to its initial state; +- `Download`: Save the modified model into disk. Node-level-operation elements are all in the sidebar, which can be invoked by clicking a specific node. Let's take a closer look. @@ -95,8 +95,10 @@ For example, Now we want remove the preprocess operators (`Sub->Mul->Sub->Trans `onnx-modifier` is under active development :hammer_and_wrench:. Welcome to use, create issues and pull requests! 🥰 # Credits and referred materials +- [Netron](https://github.com/lutzroeder/netron) +- [flask](https://github.com/pallets/flask) - ONNX Python API [Official doc](https://github.com/onnx/onnx/blob/main/docs/PythonAPIOverview.md), [Leimao's Blog](https://leimao.github.io/blog/ONNX-Python-API/) - ONNX IO Stream [Leimao's Blog](https://leimao.github.io/blog/ONNX-IO-Stream/) -- [Netron](https://github.com/lutzroeder/netron) - [onnx-utils](https://github.com/saurabh-shandilya/onnx-utils) -- [flask](https://github.com/pallets/flask) +- [sweetalert](https://github.com/t4t5/sweetalert) + diff --git a/readme_zh-CN.md.md b/readme_zh-CN.md.md index 17e4864..e45d2f3 100644 --- a/readme_zh-CN.md.md +++ b/readme_zh-CN.md.md @@ -95,9 +95,9 @@ math: true `onnx-modifer`正在活跃地更新中:hammer_and_wrench:。 欢迎使用,提issue,如果有帮助的话,感谢给个:star:~ # 参考资料 - +- [Netron](https://github.com/lutzroeder/netron) +- [flask](https://github.com/pallets/flask) - ONNX Python API [Official doc](https://github.com/onnx/onnx/blob/main/docs/PythonAPIOverview.md), [Leimao's Blog](https://leimao.github.io/blog/ONNX-Python-API/) - ONNX IO Stream [Leimao's Blog](https://leimao.github.io/blog/ONNX-IO-Stream/) -- [Netron](https://github.com/lutzroeder/netron) - [onnx-utils](https://github.com/saurabh-shandilya/onnx-utils) -- [flask](https://github.com/pallets/flask) +- [sweetalert](https://github.com/t4t5/sweetalert) \ No newline at end of file diff --git a/static/favicon.ico b/static/favicon.ico deleted file mode 100644 index c30ac5a9b11e3ab802e35348aa94adb004a5b9ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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 diff --git a/static/icon.png b/static/icon.png deleted file mode 100644 index 75a1a0a6a04333b4aa936e5c76380996124e7045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58106 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 diff --git a/static/index.js b/static/index.js index 6f3480e..5f655bd 100644 --- a/static/index.js +++ b/static/index.js @@ -215,8 +215,6 @@ host.BrowserHost = class { const downloadButton = this.document.getElementById('download-graph'); downloadButton.addEventListener('click', () => { console.log(this) - // console.log(this._view._graph._modelNodeName2State) - // console.log(this._view._graph._renameMap) // https://healeycodes.com/talking-between-languages fetch('/download', { // Declare what type of data we're sending @@ -225,10 +223,7 @@ host.BrowserHost = class { }, // Specify the method method: 'POST', - // https://blog.csdn.net/Crazy_SunShine/article/details/80624366 body: JSON.stringify({ - // 'node_states' : this._mapToJson(this._view._graph._modelNodeName2State), - // 'node_renamed_io' : this._twoLevelMapToJson(this._view._graph._renameMap), 'node_states' : this.mapToObjectRec(this._view._graph._modelNodeName2State), 'node_renamed_io' : this.mapToObjectRec(this._view._graph._renameMap), } @@ -246,8 +241,8 @@ host.BrowserHost = class { swal("Success!", "Modified model has been successfuly saved in ./modified_onnx/", "success"); } else { - swal("Error happens!", "You can find it out or create an issue on", "error"); - // alert('Error happens, you can find it out or create an issue on ') + swal("Error happens!", "You can find it out or create an issue on https://github.com/ZhangGe6/onnx-modifier", "error"); + // alert('Error happens, you can find it out or create an issue on https://github.com/ZhangGe6/onnx-modifier') } }); }); @@ -286,19 +281,14 @@ host.BrowserHost = class { openFileDialog.click(); }); openFileDialog.addEventListener('change', (e) => { - // console.log(e) - // console.log(e.target.value) if (e.target && e.target.files && e.target.files.length > 0) { const files = Array.from(e.target.files); const file = files.find((file) => this._view.accept(file.name)); // console.log(file) this.upload_filename = file.name; var form = new FormData(); - // console.log(file) form.append('file', file); - // console.log(form) - // console.log(form.get('file')) - + // https://stackoverflow.com/questions/66039996/javascript-fetch-upload-files-to-python-flask-restful fetch('/return_file', { method: 'POST', @@ -361,14 +351,10 @@ host.BrowserHost = class { require(id) { const url = this._url('../static/' + id + '.js'); this.window.__modules__ = this.window.__modules__ || {}; - // console.log(this.window.__modules__) - // console.log(url) // file:///C:/Users/ZhangGe/Desktop/netron/source/./onnx.js - // console.log(this.window.__modules__[url]) // undefined if (this.window.__modules__[url]) { return Promise.resolve(this.window.__exports__[url]); } return new Promise((resolve, reject) => { - // console.log('here') this.window.module = { exports: {} }; const script = document.createElement('script'); script.setAttribute('id', id); @@ -379,8 +365,6 @@ host.BrowserHost = class { const exports = this.window.module.exports; delete this.window.module; this.window.__modules__[id] = exports; - // console.log('here') - // console.log(exports) resolve(exports); } else { @@ -410,7 +394,6 @@ host.BrowserHost = class { request(file, encoding, base) { const url = base ? (base + '/' + file) : this._url(file); - // console.log(url) return this._request(url, null, encoding); } @@ -549,14 +532,8 @@ host.BrowserHost = class { _open(file, files) { this._view.show('welcome spinner'); const context = new host.BrowserHost.BrowserFileContext(this, file, files); - // console.log(context); - // console.log(model); context.open().then(() => { - // console.log(context); - // console.log(model); // model is not defined return this._view.open(context).then((model) => { - // console.log("_open() in index.js is called"); - // console.log(model); this._view.show(null); this.document.title = files[0].name; return model; @@ -621,6 +598,7 @@ host.BrowserHost = class { this._view.show('about'); } + // https://blog.csdn.net/Crazy_SunShine/article/details/80624366 _strMapToObj(strMap){ let obj = Object.create(null); for (let [k, v] of strMap) { @@ -860,17 +838,10 @@ host.BrowserHost.BrowserFileContext = class { } request(file, encoding, base) { - // console.log(this) - // console.log(file); - // console.log(encoding); - // console.log(base); - if (base !== undefined) { return this._host.request(file, encoding, base); } - const blob = this._blobs[file]; - // console.log(blob); - + const blob = this._blobs[file]; if (!blob) { return Promise.reject(new Error("File not found '" + file + "'.")); } @@ -920,7 +891,6 @@ host.BrowserHost.BrowserFileContext = class { return this.request(this._file.name, null).then((stream) => { this._stream = stream; - // console.log(this) }); } }; diff --git a/static/logo.svg b/static/logo.svg new file mode 100644 index 0000000..62e3b27 --- /dev/null +++ b/static/logo.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/index.html b/templates/index.html index 86829ed..1414878 100644 --- a/templates/index.html +++ b/templates/index.html @@ -5,15 +5,10 @@ -Netron +onnx-modifier - - - - - @@ -267,124 +262,17 @@ button { font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI"