Releases: xadupre/onnx-light
Releases · xadupre/onnx-light
Release list
0.1.4
0.1.3
New Features
- Add
SerializeOptions.max_serialized_size_bytesto hard-cap serialization output size (#3207) - Show node indexes in
pretty_onnxgraph output (#3031) - Add
--tokensupport tofillshapefor binding symbolic dimension tokens to ranges (#3028) - Add
include_releaseoption toto_svgandto_mermaid(#3020) - Add
fillshape --release-infoto emit release metadata independently (#3019) - Add verbose progress output for
fillshapeexecution (#3012) - Expose random input generation as
onnx_light.onnx.tools.make_random_input(#3009) - Add
Loggertoonnx_helpers(#2999) - Add
dim_ranges_from_expressionsto infer dimension ranges from equality constraints (#2988) - Add C++/nanobind shape, axes, and weight metadata tagging and tag-aware Mermaid/SVG rendering (#2959)
- Add runtime progress output for verbose
ReferenceEvaluatorexecution (#2961) - Add
runsubcommand to generate random inputs and execute a model from the CLI (#2956) - Add
--verbose [LEVEL]support tofillshapeCLI (#2952) - Add ChaCha20-Poly1305 support for encrypted model I/O (
ONNXCRY2) (#2948) - Add light-only
ai.rtDelayedInitializerschema, runtime kernel, and shape inference (#2940) - Add pre-serialization weight rewrite callback for model save paths (#2944)
- Add
python -m onnx_light fillshapecommand (#2938) - Implement
ParseFromIstreamfor all proto classes (#2942) - Add support for a callback function when parsing a model (#2928)
- Add
include_inplaceoption toto_mermaid/to_svgrenderers (#2930) - Add function to record in-place reuse opportunities into node metadata (#2918)
- Guard graph inputs from in-place overwrite with an opt-in flag (#2916)
- Add ChaCha20
raw_datacallback example for weight serialization/parsing (#2957)
Improvements
- Update onnxruntime integration and related compatibility changes (#3205)
- Mirror upstream onnx#8157: fix nanobind Python target resolution in cross-compile CMake path (#3217)
- Add C++ backend test for
kReleaseevent in shape inference (#3105) - Align floor-division simplification with Python
//semantics (#3026) - Propagate Reshape shape-tag metadata backward through producer chains (#3024)
- Reuse the core shape-inference API for
fillshapeshape-tag metadata writing (#3022) - Seed
weighttags for rank-2FLOATgraph inputs in shape-tag inference (#3021) - Fix empty-axis broadcasting and add half-precision
RMSNormalizationsupport (#3018) - Extend
ComputeContextwith shape-tag release info (#3017) - Allow Transpose in-place reuse detection when storage size is equal (#3015)
- Move tiny external-tensor inlining from
fillshapeintoParseOptions(#3011) - Move
inplace_reuseand value-tag helpers intoonnx_optim.annotations(#3007) - Show release, in-place, and shape-tag annotations in
fillshape --showoutput (#3005) - Fix symbolic shape inference for
Reshapeshapes built fromUnsqueeze(Gather(Shape(...)))(#3003) - Simplify nested floor divisions such as
x//5//2intox//10(#3001) - Slice shape inference now emits symbolic expressions instead of fresh names (#2954)
- Simplify divisible additive offsets for floor and exact division in expressions (#2950)
- Improve
to_svglayout: shorten edges and reduce crossings (#2932) - Accept arbitrary iterables in
RepeatedField.extend/__init__(#2934) - Implement deleter in
ByteSpanandTensorProto(#2926) - Refactor
ComputeInPlaceReuseinto aComputeContextclass (#2924)
0.1.2
New Features
- Show node indexes in
pretty_onnxgraph output (#3031) - Add
--tokensupport tofillshapefor binding symbolic dimension tokens to ranges (#3028) - Add
include_releaseoption toto_svgandto_mermaid(#3020) - Add
fillshape --release-infoto emit release metadata independently (#3019) - Add verbose progress output for
fillshapeexecution (#3012) - Expose random input generation as
onnx_light.onnx.tools.make_random_input(#3009) - Add
Loggertoonnx_helpers(#2999) - Add
dim_ranges_from_expressionsto infer dimension ranges from equality constraints (#2988) - Add C++/nanobind shape, axes, and weight metadata tagging and tag-aware Mermaid/SVG rendering (#2959)
- Add runtime progress output for verbose
ReferenceEvaluatorexecution (#2961) - Add
runsubcommand to generate random inputs and execute a model from the CLI (#2956) - Add
--verbose [LEVEL]support tofillshapeCLI (#2952) - Add ChaCha20-Poly1305 support for encrypted model I/O (
ONNXCRY2) (#2948) - Add light-only
ai.rtDelayedInitializerschema, runtime kernel, and shape inference (#2940) - Add pre-serialization weight rewrite callback for model save paths (#2944)
- Add
python -m onnx_light fillshapecommand (#2938) - Implement
ParseFromIstreamfor all proto classes (#2942) - Add support for a callback function when parsing a model (#2928)
- Add
include_inplaceoption toto_mermaid/to_svgrenderers (#2930) - Add function to record in-place reuse opportunities into node metadata (#2918)
- Guard graph inputs from in-place overwrite with an opt-in flag (#2916)
- Add ChaCha20
raw_datacallback example for weight serialization/parsing (#2957)
Improvements
- Add C++ backend test for
kReleaseevent in shape inference (#3105) - Align floor-division simplification with Python
//semantics (#3026) - Propagate Reshape shape-tag metadata backward through producer chains (#3024)
- Reuse the core shape-inference API for
fillshapeshape-tag metadata writing (#3022) - Seed
weighttags for rank-2FLOATgraph inputs in shape-tag inference (#3021) - Fix empty-axis broadcasting and add half-precision
RMSNormalizationsupport (#3018) - Extend
ComputeContextwith shape-tag release info (#3017) - Allow Transpose in-place reuse detection when storage size is equal (#3015)
- Move tiny external-tensor inlining from
fillshapeintoParseOptions(#3011) - Move
inplace_reuseand value-tag helpers intoonnx_optim.annotations(#3007) - Show release, in-place, and shape-tag annotations in
fillshape --showoutput (#3005) - Fix symbolic shape inference for
Reshapeshapes built fromUnsqueeze(Gather(Shape(...)))(#3003) - Simplify nested floor divisions such as
x//5//2intox//10(#3001) - Slice shape inference now emits symbolic expressions instead of fresh names (#2954)
- Simplify divisible additive offsets for floor and exact division in expressions (#2950)
- Improve
to_svglayout: shorten edges and reduce crossings (#2932) - Accept arbitrary iterables in
RepeatedField.extend/__init__(#2934) - Implement deleter in
ByteSpanandTensorProto(#2926) - Refactor
ComputeInPlaceReuseinto aComputeContextclass (#2924)
0.1.1
Almost full parity with onnx (onnx.hub is not supported as deprecated). It is fully implemented in C++ included the backend test (+2000) and the reference evaluator (used to produce the backend test). The first release includes the wheels and C++ binaries. The reduced wheels are the package (only linux) without the backend tests and the kernels (~12Mb on linux).
- documentation
- wheel and binary sizes: onnx-light can be released with or with the backend test and kernels.
- number of backend test per operator
- onnx-light backend test coverage: evaluation of onnxruntime, onnx reference evaluation and onnx-light reference evaluation on onnx-light backend test
- onnx backend test coverage: same evaluation on the original backend tests
- backend tests on shape inference: evaluate shape inference algorithme on two dozens of examples, it compares the inferred shapes for the intermediates results
The results are generated for the current main branch not necessarily this release. ir-py unit tests are passing with branch https://github.com/onnx/ir-py/tree/xadupre/ol