onnx-divider
Project description
onnigiri
onnx-divider
The purpose of this package is to create subgraphs by partitioning computational graphs in order to facilitate the development of applications.
One of the problems in developing applications using deep learning models is that the DL model is not applicable by itself. For example, they may be have unnecessary nodes and some nodes are not supported some DL tools. This tool enable us to edit an onnx model freely and easily.
Installation
From PyPI:
$ pip3 install onnigiri
From Dockerhub
$ docker pull idein/onnigiri:20231114
Usage
$ onnigiri ssd-10.onnx -o ssd-10-main.onnx --from image --to Transpose_472 Transpose_661
$ onnigiri ssd-10.onnx -o ssd-10-post.onnx --from Transpose_472 Transpose_661 --to bboxes labels scores
With docker:
$ docker run --rm -it -u $UID:$GID -v $(pwd):/work idein/onnigiri:20221014 ssd-10.onnx -o ssd-10-main.onnx --from image --to Transpose_472 Transpose_661
$ docker run --rm -it -u $UID:$GID -v $(pwd):/work idein/onnigiri:20221014 ssd-10.onnx -o ssd-10-post.onnx --from Transpose_472 Transpose_661 --to bboxes labels scores
$ onnigiri version-RFB-640.onnx -o version-RFB-640-main.onnx --from input --to 460 scores
$ onnigiri version-RFB-640.onnx -o version-RFB-640-post.onnx --from 460 --to boxes
$ onnigiri tiny-yolov3-11.onnx --fix-input-shape 'input_1' '1,3,256,256' 'image_shape' '1,2' -o tiny-yolov3-11-main.onnx --from input_1 --to 'TFNodes/yolo_evaluation_layer_1/Reshape_3:0' 'model_1/leaky_re_lu_10/LeakyRelu:0' 'model_1/leaky_re_lu_5/LeakyRelu:0'
$ onnigiri tiny-yolov3-11.onnx --fix-input-shape 'input_1' '1,3,256,256' 'image_shape' '1,2' -o tiny-yolov3-11-post.onnx --from image_shape 'TFNodes/yolo_evaluation_layer_1/Reshape_3:0' 'model_1/leaky_re_lu_10/LeakyRelu:0' 'model_1/leaky_re_lu_5/LeakyRelu:0' --to 'yolonms_layer_1' 'yolonms_layer_1:1' 'yolonms_layer_1:2'
Q&A
- How to get the name of values?
Use Netron.
- Why is the extracted subgraph different from the original subgraph?
onnigiri apply onnx-simplifier before extraction. You can disable the graph optimization by the onnx-simplifier using the --no-optimization
option.
Development Guide
$ poetry install
Build docker image
$ nix build '.#dockerimage' -o image
$ docker load < ./image
Related project
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file onnigiri-0.4.0.tar.gz
.
File metadata
- Download URL: onnigiri-0.4.0.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.0 CPython/3.9.18 Linux/5.15.0-1039-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcb5f67d23d094e0698a454151e83fb1473c211a8253fc76571ea58c97ee226b |
|
MD5 | 18dc308a16c8e047eb1743fd0ced9ed3 |
|
BLAKE2b-256 | d56eb740e671073dbd62aee68cfa845fe1295e36f9993f3290de7bab703a0485 |
File details
Details for the file onnigiri-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: onnigiri-0.4.0-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.0 CPython/3.9.18 Linux/5.15.0-1039-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e29eb2ef08346932ca6e4c24eff2bd4463f8985f42c08b6501af1bfb1b13445 |
|
MD5 | 82f07b70571786464060dffebf580f44 |
|
BLAKE2b-256 | ba3e511cc6e167b0ec3cebdfd1789ce9719dafb3f53fee595c35bfecd3f6109b |