Awesome
OnnxGraphQt
ONNX model visualizer. You can edit model structure with GUI!
<p align="center"> <img src="https://user-images.githubusercontent.com/53618876/173075283-3344ca39-adcc-4e73-a5ea-31148fa641bf.png" /> </p>
Requirements
- NodeGraphQt
- PySide2
- Qt.py
- Numpy
- Pillow
- onnx
- onnx-simplifier
- onnx_graphsurgeon
- simple-onnx-processing-tools
- networkx
- grandalf
Install
sudo apt install python3-pyside2*
git clone https://github.com/fateshelled/OnnxGraphQt
cd OnnxGraphQt
python3 -m pip install -U nvidia-pyindex
python3 -m pip install -U Qt.py
# If you want to use InferenceTest, install onnxruntime or onnxruntime-gpu
# python3 -m pip install -U onnxruntime
# python3 -m pip install -U onnxruntime-gpu
python3 -m pip install -U -r requirements.txt
# Install OnnxGraphQt
python3 -m pip install .
Run with Docker
git clone https://github.com/fateshelled/OnnxGraphQt
cd OnnxGraphQt
# build docker image
./docker/build.bash
# run
./docker/run.bash
Usage
# Open empty graph
onnxgraphqt
# Open with onnx model
onnxgraphqt onnxgraphqt/data/mobilenetv2-7.onnx
Open Onnx Model
Open file dialog from menubar(File - Open) or drag and drop from file manager to main window.
Sample model is available at ONNXGraphQt/onnxgraphqt/data/mobilenetv2-7.onnx
Export
Export to ONNX file or Json file.
Node detail
Double click on Node for more information.
Node Search
Node search window can be open from menubar(View - Search). You can search node by name, type, input or output name.
simple-onnx-processing-tools
Please refer to each tool's Github repository for detailed usage.
- Generate Operator [sog4onnx]
- Add Node [sna4onnx]
- Combine Network [snc4onnx]
- Extract Network [sne4onnx]
- Rename Operator [sor4onnx]
- Modify Attributes and Constant [sam4onnx]
- Input Channel Conversion [scc4onnx]
- Initialize Batchsize [sbi4onnx]
- Change Opset [soc4onnx]
- Constant Value Shrink [scs4onnx]
- Delete Node [snd4onnx])]
- Inference Test [sit4onnx]
- Change the INPUT and OUTPUT shape [sio4onnx]
ToDo
- Add Simple Structure Checker[ssc4onnx]