A simple tool that automatically generates and assigns an OP name to each OP in an old format ONNX file.
Project description
sng4onnx
A simple tool that automatically generates and assigns an OP name to each OP in an old format ONNX file.
Simple op Name Generator for ONNX.
https://github.com/PINTO0309/simple-onnx-processing-tools
Key concept
- Automatically generates and assigns an OP name to each OP in an old format ONNX file.
1. Setup
1-1. HostPC
### option
$ echo export PATH="~/.local/bin:$PATH" >> ~/.bashrc \
&& source ~/.bashrc
### run
$ pip install -U onnx \
&& python3 -m pip install -U onnx_graphsurgeon --index-url https://pypi.ngc.nvidia.com \
&& pip install -U sng4onnx
1-2. Docker
https://github.com/PINTO0309/simple-onnx-processing-tools#docker
2. CLI Usage
$ sng4onnx -h
usage:
sng4onnx [-h]
-if INPUT_ONNX_FILE_PATH
-of OUTPUT_ONNX_FILE_PATH
[-n]
optional arguments:
-h, --help
show this help message and exit.
-if INPUT_ONNX_FILE_PATH, --input_onnx_file_path INPUT_ONNX_FILE_PATH
Input onnx file path.
-of OUTPUT_ONNX_FILE_PATH, --output_onnx_file_path OUTPUT_ONNX_FILE_PATH
Output onnx file path.
-n, --non_verbose
Do not show all information logs. Only error logs are displayed.
3. In-script Usage
>>> from sng4onnx import generate
>>> help(generate)
Help on function generate in module sng4onnx.onnx_opname_generator:
generate(
input_onnx_file_path: Union[str, NoneType] = '',
onnx_graph: Union[onnx.onnx_ml_pb2.ModelProto, NoneType] = None,
output_onnx_file_path: Union[str, NoneType] = '',
non_verbose: Union[bool, NoneType] = False
) -> onnx.onnx_ml_pb2.ModelProto
Parameters
----------
input_onnx_file_path: Optional[str]
Input onnx file path.
Either input_onnx_file_path or onnx_graph must be specified.
Default: ''
onnx_graph: Optional[onnx.ModelProto]
onnx.ModelProto.
Either input_onnx_file_path or onnx_graph must be specified.
onnx_graph If specified, ignore input_onnx_file_path and process onnx_graph.
output_onnx_file_path: Optional[str]
Output onnx file path. If not specified, no ONNX file is output.
Default: ''
non_verbose: Optional[bool]
Do not show all information logs. Only error logs are displayed.
Default: False
Returns
-------
renamed_graph: onnx.ModelProto
Renamed onnx ModelProto.
4. CLI Execution
$ sng4onnx \
--input_onnx_file_path emotion-ferplus-8.onnx \
--output_onnx_file_path emotion-ferplus-8_renamed.onnx
5. In-script Execution
from sng4onnx import generate
onnx_graph = generate(
input_onnx_file_path="fusionnet_180x320.onnx",
output_onnx_file_path="fusionnet_180x320_renamed.onnx",
)
6. Sample
https://github.com/onnx/models/blob/main/vision/classification/resnet/model/resnet18-v1-7.onnx
Before
After
7. Reference
- https://github.com/onnx/onnx/blob/main/docs/Operators.md
- https://docs.nvidia.com/deeplearning/tensorrt/onnx-graphsurgeon/docs/index.html
- https://github.com/NVIDIA/TensorRT/tree/main/tools/onnx-graphsurgeon
- https://github.com/PINTO0309/simple-onnx-processing-tools
- https://github.com/PINTO0309/PINTO_model_zoo
8. Issues
https://github.com/PINTO0309/simple-onnx-processing-tools/issues
Project details
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 sng4onnx-1.0.4.tar.gz
.
File metadata
- Download URL: sng4onnx-1.0.4.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
836022cd466b9afa4cbe118f9d6c23b8444cbe200601798ac314294c5f243eee
|
|
MD5 |
1cb1c132641a61affd68b18f22e930f5
|
|
BLAKE2b-256 |
cb7482cec386e8a296632fca024920d063225c01403c191eadc13b2e65c81a9c
|
File details
Details for the file sng4onnx-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: sng4onnx-1.0.4-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
1784d65df96c78532cfd755559a331471e80ccd42ded78044b40ec0d5d708ab4
|
|
MD5 |
91fd2edadacd291ead2f063c0d2e8eb2
|
|
BLAKE2b-256 |
6fd89f6fc80c341d66473896edf58f02f53bbb60a7b0c0d927927d8c8fb3e916
|