Expose error model sparsification to python module, update sinter decoders dict#257
Draft
noajshu wants to merge 2 commits into
Draft
Expose error model sparsification to python module, update sinter decoders dict#257noajshu wants to merge 2 commits into
noajshu wants to merge 2 commits into
Conversation
Exposes the per-shot error model sparsification functionality (added in PR 254) to the Python module and Sinter compatibility layer. Changes: - Moved the sparsify reactivate limit (M) heuristic calculation from the CLI to `TesseractConfig::get_sparsify_reactivate_limit()` in C++ core. - Added validation for sparsification parameters in decoder initialization. - Simplified CLI sparsification parameter resolution. - Bound sparsification parameters (`sparsify_errors`, `sparsify_base_degree`, `sparsify_max_degree`, `sparsify_reactivate_limit`) and the heuristic resolution method in `TesseractConfig` Python bindings. - Extended `TesseractSinterDecoder` to support sparsification config, maintaining pickling/serialization compatibility for distributed Sinter runs. - Registered new sparsified decoders in Sinter decoders dictionary: `tesseract-long-beam-sparsify3`, `tesseract-long-beam-sparsify2`, `tesseract-short-beam-sparsify3`, and `tesseract-short-beam-sparsify2`. - Added comprehensive Python unit tests for core sparsify config, validation, and Sinter end-to-end decoding. - Fixed pre-existing CMake build failure under strict compilers by upgrading external HiGHS dependency to v1.14.0. TAG=agy CONV=365755ec-6af0-4d9c-a7e2-4a363289b763
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Exposes the per-shot error model sparsification functionality (added in #254) to the Python module and Sinter compatibility layer.
Changes:
TesseractConfig::get_sparsify_reactivate_limit()in C++ core.sparsify_errors,sparsify_base_degree,sparsify_max_degree,sparsify_reactivate_limit) and the heuristic resolution method inTesseractConfigPython bindings.TesseractSinterDecoderto support sparsification config, maintaining pickling/serialization compatibility for distributed Sinter runs.tesseract-long-beam-sparsify3,tesseract-long-beam-sparsify2,tesseract-short-beam-sparsify3, andtesseract-short-beam-sparsify2.TAG=agy
CONV=365755ec-6af0-4d9c-a7e2-4a363289b763