Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

simple-onnx-processing-tools

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simple-onnx-processing-tools

A set of simple tools for splitting, merging, OP deletion, size compression, rewriting attributes and constants, OP generation, change opset, change to the specified input order, addition of OP, RGB to BGR conversion, change batch size, batch rename of OP, and JSON convertion for ONNX models.

  • 1.1.32
  • PyPI
  • Socket score

Maintainers
1

simple-onnx-processing-tools

A set of simple tools for splitting, merging, OP deletion, size compression, rewriting attributes and constants, OP generation, change opset, change to the specified input order, addition of OP, RGB to BGR conversion, change batch size, batch rename of OP, and JSON convertion for ONNX models.

Downloads GitHub PyPI

1. Tools

HostPC

# (1) Minimum configuration installation with no dependent packages installed
$ pip install -U simple-onnx-processing-tools \
&& pip install -U onnx \
&& python3 -m pip install -U onnx_graphsurgeon --index-url https://pypi.ngc.nvidia.com

or

# (2) When installing all dependent packages such as onnx-simplifier, onnxruntime, numpy, etc...
$ pip install -U simple-onnx-processing-tools[full] \
&& pip install -U onnx \
&& python3 -m pip install -U onnx_graphsurgeon --index-url https://pypi.ngc.nvidia.com

Docker

$ docker run --rm -it \
-v `pwd`:/workdir \
-w /workdir \
ghcr.io/pinto0309/simple-onnx-processing-tools:1.1.31
No.Tool NameTagsSummary
1snc4onnx
snc
PyPIsncSimple tool to combine(merge) onnx models. Simple Network Combine Tool for ONNX.
2sne4onnx
image
PyPIsneA very simple tool for situations where optimization with onnx-simplifier would exceed the Protocol Buffers upper file size limit of 2GB, or simply to separate onnx files to any size you want. Simple Network Extraction for ONNX.
3snd4onnx
snd
PyPIsndSimple node deletion tool for onnx. Simple Node Deletion for ONNX.
4scs4onnx
scs
PyPIscsA very simple tool that compresses the overall size of the ONNX model by aggregating duplicate constant values as much as possible. Simple Constant value Shrink for ONNX.
5sog4onnx
sog
PyPIsogSimple ONNX operation generator. Simple Operation Generator for ONNX.
6sam4onnx
sam
PyPIsamA very simple tool to rewrite parameters such as attributes and constants for OPs in ONNX models. Simple Attribute and Constant Modifier for ONNX.
7soc4onnx
soc
PyPIsamA very simple tool that forces a change in the opset of an ONNX graph. Simple Opset Changer for ONNX.
8scc4onnx
scc
PyPIsamVery simple NCHW and NHWC conversion tool for ONNX. Change to the specified input order for each and every input OP. Also, change the channel order of RGB and BGR. Simple Channel Converter for ONNX.
9sna4onnx
sna
PyPIsogSimple node addition tool for onnx. Simple Node Addition for ONNX.
10sbi4onnx
sbi
PyPIsbi4onnxA very simple script that only initializes the batch size of ONNX. Simple Batchsize Initialization for ONNX.
11sor4onnx
sor
PyPIsor4onnxSimple OP Renamer for ONNX.
12soa4onnx
soa
PyPIsoa4onnxSimple model Output OP Additional tools for ONNX.
13sod4onnx
sod
PyPIsod4onnxSimple model Output OP Deletion tools for ONNX.
14ssi4onnx
ssi
PyPIssi4onnxSimple Shape Inference tool for ONNX.
15sit4onnx
sit
PyPIsit4onnxTools for simple inference testing using TensorRT, CUDA and OpenVINO CPU/GPU and CPU providers. Simple Inference Test for ONNX.
16onnx2json
onnx2json
PyPIonnx2jsonExports the ONNX file to a JSON file.
17json2onnx
json2onnx
PyPIsogConverts a JSON file to an ONNX file.
18sed4onnx
sed
PyPIsogSimple ONNX constant encoder/decoder. Since the constant values in the JSON files generated by onnx2json are Base64-encoded values, ASCII <-> Base64 conversion is required when rewriting JSON constant values.
19ssc4onnx
ssc
PyPIsogChecker with simple ONNX model structure. Simple Structure Checker for ONNX. Analyzes and displays the structure of huge size models that cannot be displayed by Netron.
20sio4onnx
image
PyPIsioSimple tool to change the INPUT and OUTPUT shape of ONNX.
21svs4onnx
image
PyPIsioA very simple tool to swap connections between output and input variables in an ONNX graph. Simple Variable Switch for ONNX.
22onnx2tf
image
PyPIonnx2tfSelf-Created Tools to convert ONNX files (NCHW) to TensorFlow format (NHWC). The purpose of this tool is to solve the massive Transpose extrapolation problem in onnx-tensorflow (onnx-tf).
23sng4onnx
image
PyPIsng4onnxA simple tool that automatically generates and assigns an OP name to each OP in an old format ONNX file.
24sde4onnx
sde4onnx_icon
PyPIsde4onnxSimple doc_string eraser for ONNX.
25spo4onnx
spo4onnx_icon
PyPIspo4onnxSimple tool for partial optimization of ONNX. Further optimize some models that cannot be optimized with onnx-optimizer and onnxsim by several tens of percent. In particular, models containing Einsum and OneHot.
26components_of_onnx
components_of_onnx
[WIP]PyPIsogONNX parts yard. The various operations described in Operator Schemas are converted in advance into OP stand-alone ONNX files.

2. Very useful tools

No.Tool NameAuthorTagsSummary
1OnnxGraphQt
onnx_graph_qt
fateshelledOnnxGraphQtONNX model visualizer. Model structure can be edited on the visualization tool.imageimage
2onnx-modifier
image
ZhangGe6onnx-modifierTo edit an ONNX model, One common way is to visualize the model graph, and edit it using ONNX Python API.image
3onnx-simplifierdaquexianPyPIonnxsimONNX Simplifier is presented to simplify the ONNX model. It infers the whole computation graph and then replaces the redundant operators with their constant outputs.
4Sparsify
image
neuralmagicPyPIsparsifyEasy-to-use UI for automatically sparsifying neural networks and creating sparsification recipes for better inference performance and a smaller footprint.image
5DeepSparse Engine
image
neuralmagicPyPIdeepsparseSparsity-aware neural network inference engine for GPU-class performance on CPUs.imageimage
6Sparsebitmegvii-researchPyPISparsebitSparsebit is a toolkit with pruning and quantization capabilities. It is designed to help researchers compress and accelerate neural network models by modifying only a few codes in existing pytorch project.
7onnionIdeinPyPIonniononnion project. compile onnx to python. runtime depends only numpy.

2-1. OnnxGraphQt - [WIP] Startup Method Sample

git clone https://github.com/fateshelled/OnnxGraphQt
cd OnnxGraphQt
# build docker image
./docker/build.bash
# run
./docker/run.bash

3. Acknowledgments

  1. https://github.com/onnx/onnx/blob/main/docs/PythonAPIOverview.md
  2. https://docs.nvidia.com/deeplearning/tensorrt/onnx-graphsurgeon/docs/index.html
  3. https://github.com/NVIDIA/TensorRT/tree/main/tools/onnx-graphsurgeon
  4. https://github.com/onnx/onnx/blob/main/docs/Operators.md

4. References

  1. https://github.com/PINTO0309/PINTO_model_zoo

  2. https://github.com/PINTO0309/PINTO_model_zoo/tree/main/115_MoveNet/PINTO_Special/barracuda_gathernd_split

    https://user-images.githubusercontent.com/33194443/192281791-cf469dfd-f29a-4301-bd39-e96dd868dad9.mp4

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc