ssc4onnx
Checker with simple ONNX model structure. Simple Structure Checker for ONNX.
https://github.com/PINTO0309/simple-onnx-processing-tools
Key concept
- Analyzes and displays the structure of huge size models that cannot be displayed by Netron.
1. Setup
1-1. HostPC
### option
$ echo export PATH="~/.local/bin:$PATH" >> ~/.bashrc \
&& source ~/.bashrc
### run
$ pip install -U onnx rich onnxruntime \
&& pip install -U ssc4onnx \
&& python -m pip install onnx_graphsurgeon \
--index-url https://pypi.ngc.nvidia.com
1-2. Docker
https://github.com/PINTO0309/simple-onnx-processing-tools#docker
2. CLI Usage
$ ssc4onnx -h
usage:
ssc4onnx [-h]
-if INPUT_ONNX_FILE_PATH
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.
3. In-script Usage
>>> from ssc4onnx import structure_check
>>> help(structure_check)
Help on function structure_check in module ssc4onnx.onnx_structure_check:
structure_check(
input_onnx_file_path: Union[str, NoneType] = '',
onnx_graph: Union[onnx.onnx_ml_pb2.ModelProto, NoneType] = None
) -> Tuple[Dict[str, int], int]
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.
Returns
-------
op_num: Dict[str, int]
Num of every op
model_size: int
Model byte size
4. CLI Execution
$ ssc4onnx -if deqflow_b_things_opset12_192x320.onnx
5. In-script Execution
from ssc4onnx import structure_check
structure_check(
input_onnx_file_path="deqflow_b_things_opset12_192x320.onnx",
)
6. Sample
https://github.com/PINTO0309/ssc4onnx/releases/download/1.0.6/deqflow_b_things_opset12_192x320.onnx
https://github.com/PINTO0309/ssc4onnx/assets/33194443/fd6a4aa2-9ed5-492b-82ae-1f8306af5119
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
Release files for ssc4onnx 1.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ssc4onnx-1.0.8.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ssc4onnx-1.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.6 kB
Release files / ssc4onnx-1.0.8.tar.gz
| Download URL | ssc4onnx-1.0.8.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0d13c74d8ab96cae1a0598a08879f69eb6e17a61de942eb73c6f5f2caacf28e2
|
|
BLAKE2b-256 checksum How to use checksums |
2ba1c15d8876de6ce80e88680f88e42ee2932b8a5dd2f619cee8886d0f3d3407
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|
Release files / ssc4onnx-1.0.8-py3-none-any.whl
| Download URL | ssc4onnx-1.0.8-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6579d2315b142d0e23d40c7dc25bef6542e450b8e755a9f68693e58ccc9175db
|
|
BLAKE2b-256 checksum How to use checksums |
9475ed24e1662eb178bfbe3d93617c90cbb51ad02ac89f8de5e36468971c8fe2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|