A very simple tool that forces a change in the IR Version of an ONNX graph. Simple IR version Changer for ONNX.
https://github.com/PINTO0309/simple-onnx-processing-tools
### option
$ echo export PATH="~/.local/bin:$PATH" >> ~/.bashrc \
&& source ~/.bashrc
### run
$ pip install -U onnx \
&& pip install -U sic4onnx
### docker pull
$ docker pull pinto0309/sic4onnx:latest
### docker build
$ docker build -t pinto0309/sic4onnx:latest .
### docker run
$ docker run --rm -it -v `pwd`:/workdir pinto0309/sic4onnx:latest
$ cd /workdir
$ sic4onnx -h
usage:
sic4onnx [-h]
--input_onnx_file_path INPUT_ONNX_FILE_PATH
--output_onnx_file_path OUTPUT_ONNX_FILE_PATH
--ir_version IR_VERSION
[--non_verbose]
optional arguments:
-h, --help
show this help message and exit
--input_onnx_file_path INPUT_ONNX_FILE_PATH
Input onnx file path.
--output_onnx_file_path OUTPUT_ONNX_FILE_PATH
Output onnx file path.
--ir_version IR_VERSION
IR version number to be changed. e.g. --ir_version 8
https://github.com/onnx/onnx/blob/main/onnx/version_converter.py#L12-L160
--non_verbose
Do not show all information logs. Only error logs are displayed.
$ python
>>> from sic4onnx import irchange
>>> help(irchange)
Help on function change in module sic4onnx.onnx_irversion_change:
change(
ir_version: int,
input_onnx_file_path: Union[str, NoneType] = '',
output_onnx_file_path: Union[str, NoneType] = '',
onnx_graph: Union[onnx.onnx_ml_pb2.ModelProto, NoneType] = None,
non_verbose: Union[bool, NoneType] = False
) -> onnx.onnx_ml_pb2.ModelProto
Parameters
----------
ir_version: int
IR version number to be changed.
e.g. --ir_version 8
https://github.com/onnx/onnx/blob/main/onnx/version_converter.py#L12-L160
input_onnx_file_path: Optional[str]
Input onnx file path.
Either input_onnx_file_path or onnx_graph must be specified.
output_onnx_file_path: Optional[str]
Output onnx file path.
If output_onnx_file_path is not specified, no .onnx file is output.
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.
non_verbose: Optional[bool]
Do not show all information logs. Only error logs are displayed.
Default: False
Returns
-------
ir_changed_graph: onnx.ModelProto
IR version changed onnx ModelProto
$ sic4onnx \
--input_onnx_file_path input.onnx \
--output_onnx_file_path output.onnx \
--ir_version 8
from sic4onnx import irchange
ir_changed_graph = irchange(
onnx_graph=graph,
ir_version=8,
non_verbose=True,
)