Repository navigation
2.0.26
2.0.26
Summary
This PR improves flatbuffer_direct conversion stability and builtin coverage, with a focus on string/optional handling and redundant layout-wrapper reduction.
Improvements in fix-str
- Added builtin lowering support for
StringNormalizerunder constrained runtime patterns.- Added no-op and stopword-filter paths for string tensors.
- Added constant-input fold path including case conversion and stopword filtering semantics.
- Added builtin lowering support for determinable
OptionalHasElementcases to reduce custom-op fallback. - Extended
Unsqueezebuiltin axis normalization with output-rank semantics (covers opset8-style patterns). - Expanded
Padbuiltin path to support non-zero constant padding viaPADV2(for non-quantized tensors). - Improved dtype support in flatbuffer_direct tensor metadata handling (including
STRING). - Added/extended transpose and reshape optimization passes to remove redundant wrappers:
Transpose -> Reshape -> Transpose(including NHWC/NCHW channel-tail singleton variants)- redundant
Squeeze -> Reshapeidentity chains - multiple SE/BiFPN-style layout wrapper cleanup patterns
- Improved op error-report/evaluation behavior around subprocess/in-process execution paths.
Validation
pytest -q tests/test_tflite_builder_direct.py -k "string_normalizer or optional_has_element or unsqueeze or pad or transpose_se_conv_mul_prepost_nhwc_chain or squeeze_reshape_identity_chains_removed or transpose_reshape_transpose_to_expanddims_nhwc"28 passed
pytest -q tests/test_accuracy_evaluator_subprocess.py2 passed
Notes
- README builtin-op coverage table and notes were updated to document new constraints/coverage.
What's Changed
- flatbuffer_direct: improve String/Optional builtins and transpose-reshape chain optimization by @PINTO0309 in #889
Full Changelog: 2.0.25...2.0.26