- As this [request](https://github.com/ZhangGe6/onnx-modifier/pull/5) notes, the current downloading schema prevents `onnx-modifier ` from being deployed remotely as a service.
- [ ] Linux
- [ ] support more flexible downloading schema
- support adding more complicated nodes (which has some simple parameters like `reshape`).
- [ ] As this [request](https://github.com/ZhangGe6/onnx-modifier/pull/5) notes, the current downloading schema prevents `onnx-modifier ` from being deployed remotely as a service.
- support adding model input/output node.
- [ ] support adding more complicated nodes (which has some simple parameters like `reshape`).
- support combine models.
- [ ] support combine models.
- support user-defined input/output number when the type of node's input/output is list.
- [ ] support user-defined input/output number when the type of node's input/output is list.
- slim the codes.
- [ ] slim the code.
- because some `.js` files (like electron.js and even python.js) in the `static` folder and `electron.html` in `templates` folder are legacy of Netron and can be further slimmed.
- [ ] because some `.js` files (like electron.js and even python.js) in the `static` folder and `electron.html` in `templates` folder are legacy of Netron and can be further slimmed.
- [x] support adding model input/output node.
- [x] fix issue that "extra model inputs" emerges after deleting nodes. [issue#12](https://github.com/ZhangGe6/onnx-modifier/issues/12)
@ -20,6 +20,7 @@ Currently, the following editing operations are supported:
- Recover a deleted node.
- Recover a deleted node.
- [x] Rename the node inputs/outputs
- [x] Rename the node inputs/outputs
- [x] Rename the model inputs/outputs
- [x] Rename the model inputs/outputs
- [x] Add new model outputs
- [x] Edit the attribute of nodes
- [x] Edit the attribute of nodes
- [x] Add new nodes (experimental)
- [x] Add new nodes (experimental)
@ -53,7 +54,7 @@ Click the url in the output info generated by flask (`http://127.0.0.1:5000/` fo
<details>
<details>
<summary>Click to expand</summary>
<summary>Click to expand</summary>
- Windows: Download [onnx-modifier.exe (27.6MB)](https://drive.google.com/file/d/1y7mYlvF0G5iiNDgOFh1ESXlTs8I2ipVQ/view?usp=sharing), double-click it and enjoy.
- Windows: Download [onnx-modifier.exe (27.6MB)](https://drive.google.com/file/d/1LRXgZauQ5BUENe_PvilRW8WvSO-4Jr9j/view?usp=sharing), double-click it and enjoy.
- Edge browser is used for runtime environment by default.
- Edge browser is used for runtime environment by default.
> I recorded how I made the the executable file in `app_desktop.py`. The executable file for other platforms are left for future work.
> I recorded how I made the the executable file in `app_desktop.py`. The executable file for other platforms are left for future work.
@ -139,6 +140,16 @@ The process is shown in the following figure:
## Rename the model inputs/outputs
## Rename the model inputs/outputs
Click the model input/output node, type a new name in the sidebar, then we are done.
Click the model input/output node, type a new name in the sidebar, then we are done.

## Add new model outputs
Sometimes we want to add/extract the output of a certain node as model output. For example, we want to add a new model output after the old one was deleted, or extract intermediate layer output for fine-grained analysis. In `onnx-modifier`, we can achieve this by simply clicking the `Add Output` button in the sidebar of the corresponding node. Then we can get a new model output node following the corresponding node. Its name is the same as the output of the corresponding node.
In the following example, we add 2 new model outputs, which are the outputs of the 1st `Conv` node and 2nd `Conv` node, respectively.

## Edit the attribute of nodes
## Edit the attribute of nodes
Change the original attribute to a new value, then we are done.
Change the original attribute to a new value, then we are done.