-
Notifications
You must be signed in to change notification settings - Fork 0
Dimitris/requantize bmm ref #78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
DimitrisPapac
wants to merge
61
commits into
main
Choose a base branch
from
dimitris/requantize-bmm-ref
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
50352aa
Added .gitignore
DimitrisPapac 78c80af
Added code for TF Lite's reference implementation
DimitrisPapac 8618e14
Attempted to fix trait bounds
DimitrisPapac c5fea81
Attempted to fix trait bounds.
DimitrisPapac e8f6154
Collaboratively fixed the code
DimitrisPapac 9082cf7
Fixed bug in frexp
DimitrisPapac c35f20a
Merge branch 'cesar/speed-up-compatibility' into dimitris/requantize-…
Cesar199999 661c03a
Add use_requantise_ref flag in model builders
Cesar199999 93ad93e
Made fixes to quantize_multiplier. Added tests for frexp and quantize…
DimitrisPapac e38cf8a
Small code changes
DimitrisPapac 73aba23
Add requantisation reference compatibility tests
Cesar199999 30b0e12
removed hardcoded types QScaleType, etc.; cannot make BMM requantisat…
DimitrisPapac 39b9f70
Revert "removed hardcoded types QScaleType, etc.; cannot make BMM req…
DimitrisPapac 15929af
Fixed tests and replaced panics with asserts.
DimitrisPapac 0b0d55d
Refactored model constructors
DimitrisPapac c564446
Adapted compatibility tests
DimitrisPapac 5aaee3f
Fixed tests for BMMRef implementation
DimitrisPapac a6294e4
Introduced pow2_double in order to fix overflow in requantise_ref.
DimitrisPapac 4428263
Debugged requantise_ref
DimitrisPapac 19234a9
Renamed RequantiseBMMNode to RequantiseBMMFloatNode
DimitrisPapac c92a115
Increased NB_OUTPUTS to 10000.
DimitrisPapac a71b5e1
Completed initial draft of simplified requantization
DimitrisPapac c707f44
Updated simple and two-layer perceptron code for simplified requantiz…
DimitrisPapac 467829c
Collaboratively debugged BMM simplified implementation
DimitrisPapac fc267a6
Updated compatibility tests for the simplified requantization
DimitrisPapac 6d7bb9e
Added tests and partially fixed simplified requantization.
DimitrisPapac 1b99e6e
pinned dependencies as in main
Antonio95 de213f5
added missing parameter in old function call
Antonio95 cfe5115
tweaked names and comments
Antonio95 238e1d5
fixed simplified requantisation
Antonio95 7d5eb68
both single-round requantisation tests passing, 0 discrepancies
Antonio95 9b0d9ed
removed unnecessary code
Antonio95 0d10d9e
changed all requantis... to requantiz... for consistency
Antonio95 f2f41cc
renamed simplified requantisation to single
Antonio95 366c4ea
minor renames
Antonio95 6c685ef
refactored Qarray to Tensor
Antonio95 a8a1307
refactored InnerType to Numeric
Antonio95 5ad7abc
realised InnerType doesn't need to be split, renamed to Integral
Antonio95 1bc3d7f
tmp
Antonio95 06e29d2
fixed shift direction mix-up
Antonio95 a83c4ec
finished polishing trait and updating requantisation methods
Antonio95 fb5f32a
switched implementation of Integral to a macro
Antonio95 10e7acd
removed unecessary (for now) commented-out code
Antonio95 8718a79
applied consistent use of parentheses
Antonio95 d218dc6
Merge pull request #70 from HungryCatsStudio/antonio/refactor_qarray_…
Antonio95 d73633a
Replace QTypeArray by NIOTensor
Cesar199999 3f0c62e
Merge branch 'dimitris/requantize-bmm-ref' into cesar/bind-small-and-…
Cesar199999 0b94605
Use Into and TryInto instead of From and TryFrom
Cesar199999 96c004d
Update common/src/quantization/mod.rs
Cesar199999 2ac39f6
Update common/src/model/tensor/mod.rs
Cesar199999 a9070de
Merge pull request #73 from HungryCatsStudio/cesar/bind-small-and-lar…
Antonio95 07ef113
Addressed part of the comments that were suggested.
DimitrisPapac b05c109
Updated strings in requantize_bmm_ref.rs and requantize_bmm_single.rs
DimitrisPapac f63a5a1
Updated one of the tests in order to match the particular error message.
DimitrisPapac 50fa7b9
minor str fixes
Antonio95 f91ecad
introduced convenience function to create suitable requantisation var…
Antonio95 3b8ac19
minor message tweak
Antonio95 a22823c
Add non-conflicting merge files
Cesar199999 e69ea18
Remove duplicated dependency
Cesar199999 454f18d
Resolve merge conflicts
Cesar199999 6d60ac4
Rename missing instances of QArray to Tensor
Cesar199999 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so this means there's one requantization strategy per model, yes?
Is this what we want?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, basically these are just auxiliary functions that construct our example models by filling the vector of nodes with the nodes it should have. In one of the models there is only one requantisation node and in the other one there are two. In the latter case, we don't have any need to mix requantisation strategies (which sounds a bit unlikely anyway). Still, it should be stressed that this is just code to build examples, not library functionality code. Therefore the "lack of generality" shouldn't be a problem.
Incidentally, the reason we added this argument was so that we could test out how much the reference, single-round and floating-point-based implementations of requantisation each differ from TF Lite execution.