v0.4.0
⚠️ Breaking Changes ⚠️
- Split BSign into Quantize/Dequantize and separate from BConv (#457) @lgeiger, @AdamHillier @Tombana
- Change custom option enums to match flatbuffer schema (#464) @lgeiger
- Set padding and fused activations as enums (#386) @lgeiger
- Rename BConv attributes to follow TFLite more closely (#373) @lgeiger
🎉 Features
- Support full int8 QAT models in converter (#449) @lgeiger
- Add ARM32 kernel implementation (#432) @honglh
- Allow to set fake default ranges to enable latency test of int8 models (#357) @lgeiger
- Publish prebuilt benchmark binaries with each new release (#398) @lgeiger
- Publish dev docker images for releases (#397) @lgeiger
- Use thresholds for bitpacked output (#387) @Tombana
- Support dilated convolutions in converter (#385) @lgeiger
🚀 Performance
- Improve performance with optimised Ruy matrix packing. (#462) @AdamHillier
- Improve Aarch64 performance by removing NEON pipeline stalls. (#394) @AdamHillier
🐛 Bug Fixes
- Simplify make build (#480) @Tombana
- Fix int8 outputtransform (#422) @Tombana
- Fix trailing quantization op with experimental_bitpacking fusion (#402) @lgeiger
- Fix BMaxPool IR definition (#404) @lgeiger
- Fix sequential model in end2end test: add missing quantisers. (#390) @AdamHillier
📖 Documentation
- Update URLs in readme to adapt to the build docs changes (#481) @lgeiger
- Update benchmark table in Readme (#470) @lgeiger
- Fix broken links (#413) @koenhelwegen
👷♂️ Internal Improvements
- Remove zero_point argument from im2col (#478) @lgeiger
- Remove lce_benchmark_all binary (#477) @lgeiger
- Add profiler scopes for bitpacking functions and quantization/maxpool ops. (#471) @AdamHillier
- Remove Windows builds from release workflow (#476) @lgeiger
- Remove input/output dimensions from BConvParams (#475) @lgeiger
- Directly pass packed filer shape to bconv kernel (#474) @lgeiger
- Remove output shape argument from bitpack_tensor (#473) @lgeiger
- Simplify shape handling in kernel prepare method (#472) @lgeiger
- Fix unittest linkopts for macos (#465) @lgeiger
- Rename
packbits
tobitpack
for consistency. (#463) @AdamHillier - Automatically upload benchmark binaries to new releases (#456) @lgeiger
- Standardise on 32-bit bitpacking. Closes #446. (#461) @AdamHillier
- add extra braces around padding_buffer (#455) @andrewstanfordjason
- Prebuild AArch32 benchmark binary for new releases (#453) @lgeiger
- Add optimised canonical bitpacking for Aarch64. Closes #435. (#443) @AdamHillier
- Add Android AAR build to release workflow (#451) @lgeiger
- Add
make_unsigned
tounpack_matrix
type (#442) @Tombana - Use a 32-column C++ kernel layout when writing bitpacked output. (#441) @AdamHillier
- Test against Python 3.8 by default on CI (#438) @lgeiger
- Remove unused packbits_arm32 (#437) @lgeiger
- Test converter against TF 2.3 (#436) @lgeiger
- Update the unittest error threshold (#430) @Tombana
- Refactor OutputTransform with template types (#426) @Tombana
- Replace context->ReportError calls with TF_LITE_KERNEL_LOG (#403) @lgeiger
- Improve error message when passing wrong converter arg (#414) @lgeiger
- Use custom larq MLIR dialect for our ops (#384) @lgeiger
- Add misc updates for Micro (#401) @Tombana
- Upgrade TensorFlow to eaacee173897b77cdb6afd22d5e78154177a10f3 (#363) @lgeiger
- Slightly optimize docker image size (#399) @lgeiger
- Add new performance label to release notes (#395) @lgeiger
- Move weight bitpacking into its own converter pass. (#393) @AdamHillier
- Add custom dev docker file (#392) @lgeiger
- Remove RUY_ASM_FLAG_HAS_BIAS (#389) @lgeiger
- Remove filter_format attribute from IR and bconv kernel (#382) @lgeiger
- Add pattern to ensure post_activation_multipliers are always positiv (#375) @lgeiger
- Upgrade github/actions (#381) @lgeiger
- Add testing script for faster model conversions debugging (#380) @lgeiger
⬆️ Dependencies
- Update lint dependencies (#479) @lgeiger
- Bump actions/setup-python from v2.1.1 to v2.1.2 (#460) @dependabot
- Update actions/upload-artifact requirement to v2.1.4 (#419, #425, #440, #448, #454, #459) @dependabot
- Bump GoogleCloudPlatform/github-actions from 0.1.2 to 0.1.3 (#444) @dependabot
- Upgrade tensorflow to 2.3 stable (#439) @lgeiger
- Update lce_register.cc (#434) @lgeiger
- Bump DoozyX/clang-format-lint-action from v0.6 to v0.8 (#427, #433) @dependabot
- Bump actions/setup-python from v2 to v2.1.1 (#429) @dependabot
- Upgrade TensorFlow to 2.3.0rc0 (#415) @lgeiger
- Bump actions/download-artifact from v1 to v2 (#418) @dependabot
- Bump toolmantim/release-drafter from v5.8.0 to v5.11.0 (#417) @dependabot
- Create Dependabot config file (#416) @dependabot-preview
- Upgrade TensorFlow to tensorflow@9a70ab8 (#405) @lgeiger