Releases: fastmachinelearning/qonnx
Releases · fastmachinelearning/qonnx
qonnx version 1.0.0
What's Changed
Highlights
- Support for quantized floating point (
FloatQuant) (#159) - Operator versioning (#217) and Trunc v2 (#209)
- Remove QKeras converter and Brevitas dependency (#220). Converters should be implemented in companion packages.
- Onnxscript implementation of QuantToQCDQ (#191)
- Proper subgraph-traversal for qonnx model_wrapper transform function (#187)
Full list of changes
- Insert Identity nodes on given tensor and top-level graph inputs by @maltanar in #166
- Add option to disable scaled-int datatypes in InferDataTypes by @maltanar in #167
- Remove support for python 3.8 / 3.9 by @makoeppel in #172
- A first sample version of
FloatQuantby @nghielme in #159 - Merged with float_quant, added exp bias, implemented FloatQuant.infer_node_datatype() by @ebby-s in #180
- Floating point quantization custom op and datatypes by @maltanar in #182
- Disable coverage in pytest by @maltanar in #183
- Update README.md by @maltanar in #184
- forward metadata by @jsmonson in #181
- Fix ModelWrapper method to preserve order of graph inputs and outputs by @auphelia in #186
- Store Metadata in Graph Proto rather than model Proto by @jsmonson in #188
- Fix SortGraph Removes Nodes Connected only to I/O by @jsmonson in #189
- Onnxscript implementation of QuantToQCDQ by @SpiritSeeker in #191
- Add proper subgraph-traversal for qonnx model_wrapper transform function by @jsmonson in #187
- Minor QuantToQCDQ improvements by @maltanar in #194
- Add apply_to_subgraph parameter to ModelWrapper.analysis() by @jsmonson in #193
- [DataType] vectorize checking if value is allowed for a datatype by @SpiritSeeker in #196
- Fix crash in GiveReadableTensorNames by @LinusJungemann in #199
- [FixedPt] add the fixed-point quantize transformation and unit tests by @SpiritSeeker in #198
- Revamp MultiThreshold by @maltanar in #201
- Fix failing tests and pytest-randomly by @maltanar in #205
- Update floatquant tests to fix Brevitas vs QONNX floatquant test by @nghielme in #207
- Namespace based customop registration by @tafk7 in #204
- Unpin Protobuf Version to Support for newer ONNX versions by @jsmonson in #213
- Opset version utilities by @maltanar in #215
- Op versioning for new registry system by @maltanar in #217
- Introduce v1 and v2 for Trunc by @maltanar in #209
- [trunc/quant_avg_pool] Update Trunc and QuantAveragePool to match how Brevitas Ops work by @nickfraser in #170
- Remove ApplyConfig by @maltanar in #218
- Remove QKeras export and Brevitas dependency to relax package versions by @maltanar in #220
- Add type checks to set_nodeattr by @LinusJungemann in #232
- Match set_nodeattr and get_nodeattr by @LinusJungemann in #231
- Add GiveUniqueParameterTensors to ModelWrapper.cleanup transformations by @iksnagreb in #168
- [InferDT] MAC-like node dtype output to fp32 if any fp32 operands by @iksnagreb in #230
- Try to propagate input data layout to outputs for FINN ops by @iksnagreb in #229
- Extract quantized biases for Conv/ConvTranspose by @auphelia in #224
- Add modelwrapper methods to get network global input and output tensor names by @rothej in #225
- Increase onnx version limit from <=1.16.1 to <=1.17.0 by @iksnagreb in #228
- Make gen_finn_dt_tensor consider the numpy type for INT and FIXED types by @iksnagreb in #118
- Try to fix errors in sphinx builds by @jmitrevs in #223
- Add type hints to base classes to fix Pythons automatic type hinting for FINN/FINN+ by @LinusJungemann in #226
- add CONTRIBUTING.md by @jmitrevs in #233
- Setup: compatibility with python 3.13 by @Giuseppe5 in #235
- [Transform] Introduce ComposedTransformation by @iksnagreb in #169
- [MultiThreshold] Generalize data layouts for node execution by @iksnagreb in #143
New Contributors
- @nghielme made their first contribution in #159
- @jsmonson made their first contribution in #181
- @SpiritSeeker made their first contribution in #191
- @LinusJungemann made their first contribution in #199
- @nickfraser made their first contribution in #170
- @rothej made their first contribution in #225
- @Giuseppe5 made their first contribution in #235
Full Changelog: v0.4.0...v1.0.0
qonnx version 0.4.0
Highlights:
- Channels-last conversion improvements and support for branching topologies (#148 #149 #163)
- New rounding modes in
Quant(#134) - QuantLSTM QCDQ representation (#79)
- Inference cost breakdown (#101)
- Channel pruning and quantization utilities (#71 #94)
Full list of merged PRs:
https://github.com/fastmachinelearning/qonnx/milestone/4?closed=1
qonnx version 0.3.0
Highlights:
- Initial support for converting between Q(C)DQ and Quant styles of quantization (#48 , #56 , #65 )
- Improvements to
qonnx-execfor faster QONNX model execution and accuracy validation (#64 ) - Improvements to constant folding and subgraph execution (#47 )
- Improvements to inference cost measurement (#53 , #55 )
Full list of merged PRs:
https://github.com/fastmachinelearning/qonnx/milestone/3?closed=1
qonnx version 0.2.0
What's new in this release
- Support exporting QONNX from QKeras (#28 )
- Support exporting QONNX from HAWQ (#41)
- Tensor attributes in custom op wrappers (#24)
- Use knowledge of weight matrices to further optimize accumulator range calculation (#29)
- Support spatial -> channel rebalancing for certain convolutional kernels (#22)
- Numerous bugfixes and other improvements - see full list of merged PRs for this release