-
Notifications
You must be signed in to change notification settings - Fork 239
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
Fix RoundAndClipThresholds Transformation #1030
Conversation
Hm, while I can successfully run the mobilenet and the cybersecurity end2end tests, the bnn-pynq tests fail immediately at the export step, this seems not to be my fault (at least it is unrelated to this PR, maybe I am missing something else or messed up some dependency?):
Any hints on this error? Regarding building the finn-examples: It seems these have not been updated to the recent finn release yet? Will this happen in the near future or should we skip this test for now? |
Hi @iksnagreb, Yes, we restructured the bnn pynq tests and they are not callable with |
Ok, then I will skip doing the end2end and finn-examples tests now and focus on our transformer model. My dummy model already built successfully, but I would like to test the "real" model as well, just to be sure. I will also mark this as ready for review now. |
Thanks @iksnagreb ! |
See #978 for some explanation of what it wrong with this transformation. See #875 for more context.
RoundAndClipThresholds
transformation to correctly respect the range of the input data type (the quantization annotation of the input) and the container data type of the thresholds tensor. Clearly defines the type-casting/type-promotion behavior to always produce integer thresholds coded as float32 initializer tensors.RoundAndClipThresholds
transformation, testing rounding, clipping and different data type combinations for large bit-width integers around INT24 (where the representability issues start to occur).- [ ] Validate against the other end2end tests- [ ] Build finn-examplesCloses #978