Improve precision for non-power-of-2 scales in brevitas -> QONNX workflow and add pytests #1208
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.
Adds simple pytests for the brevitas -> QONNX -> hls4ml workflow.
Tested are models using both power-of-2 and non-power-of-2 scales. For the latter, the accuracy is generally poor, driven by insufficient precision for the scale variable in the rescaling operation. So far I have only come up with a stupid fix that chooses an arbitrary higher precision to improve things, and I would like to discuss better options to infer the required precision.
Type of change
Mostly adds tests
Tests
This PR adds the relevant pytests to test the brevitas -> QONNX -> hsl4ml workflow for a simple model with a linear layer and activation. More tests can be added, if desired.
Checklist
pre-commit
on the files I edited or added.