Skip to main content

Checker with simple ONNX model structure. Simple Structure Checker for ONNX.

Project description

ssc4onnx

Checker with simple ONNX model structure. Simple Structure Checker for ONNX.

https://github.com/PINTO0309/simple-onnx-processing-tools

Downloads GitHub PyPI CodeQL

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

image

7. Reference

  1. https://github.com/onnx/onnx/blob/main/docs/Operators.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/PINTO0309/simple-onnx-processing-tools
  5. 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

ssc4onnx-1.0.8.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

ssc4onnx-1.0.8-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file ssc4onnx-1.0.8.tar.gz.

File metadata

  • Download URL: ssc4onnx-1.0.8.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for ssc4onnx-1.0.8.tar.gz
Algorithm Hash digest
SHA256 0d13c74d8ab96cae1a0598a08879f69eb6e17a61de942eb73c6f5f2caacf28e2
MD5 936b17a1612c2b1d501e0880d26c4bf5
BLAKE2b-256 2ba1c15d8876de6ce80e88680f88e42ee2932b8a5dd2f619cee8886d0f3d3407

See more details on using hashes here.

File details

Details for the file ssc4onnx-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: ssc4onnx-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for ssc4onnx-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6579d2315b142d0e23d40c7dc25bef6542e450b8e755a9f68693e58ccc9175db
MD5 9d41faf18ffcf5e73a19b58e072b1945
BLAKE2b-256 9475ed24e1662eb178bfbe3d93617c90cbb51ad02ac89f8de5e36468971c8fe2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page