forked from Xilinx/finn
-
Notifications
You must be signed in to change notification settings - Fork 6
Refactor qnn-data and remove unneeded dependencies #113
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
Merged
Conversation
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
…-plus into refactor/codeSeparation
…-plus into refactor/codeSeparation
…-plus into refactor/codeSeparation
iksnagreb
approved these changes
Nov 20, 2025
LinusJungemann
added a commit
that referenced
this pull request
Dec 8, 2025
* Update dependencies * Resolve dependency/consistency conflict between onnx and onnxruntime * Switch most dependencies to ~ and comment on some strict requirements * Fix shape and data layout issues affecting Transformer models * [CI] Enable access to newest U250 platform files * [CI] Re-enable transformer test models * Added decorator to snapshot data on failure * Decorator now tries to save the most recent model from before the exception * Updated snapshot decorator * Moved automatic snapshot decoration to step resolution, improvements to model and envvar snapshots * [CI] Enable exception snapshots by default * Automatic Docstring checking and API Documentation publishing (#106) * Fix: Typo in Names with escaped characters in code environments (#108) * Fix: Typo in Names with escaped characters in code environments Refactor category file generation to improve filename safety and content clarity. * Fix comment indentation in split_api_docs.py * Remove docs folder (#109) * [Bench] Fix update of enum types in build cfg * Add docstrings to builder and bench components * Add missing docstrings to bench components * Add missing docstring to transformer.py * Update check_docstrings script to run on changed files (#110) * Update check_docstrings script * Test on VVAU * Create tmp docs folder if not existing * Small changes and added docstrings * Fix publish to wiki on dev push (#111) * Update check_docstrings script * Test on VVAU * Create tmp docs folder if not existing * Fix pusblish to wiki * Fix linting * Minor improvements to error handling and documentation (#105) * Fail correctly if Vivado/Vitis returns non-zero exit code * Improve formatting of traceback printing * Raise error if nodes are unnamed before IP generation * Improve documentation and typing of DataflowBuildConfig * Add docstrings to various files --------- Co-authored-by: Felix Jentzsch <[email protected]> * Add paths to PATH in set_synthesis_tools_paths (#114) * Apply workaround for rtlsim timeouts due to underestimating max cycles (#115) * [CI] Enable rtlsim verification for Transformers * [CI] Workaround for setting LD_LIBRARY_PATH * Clean up verification steps of Transformer flow * Add docstrings * Improve exception handling in cppsim * Hotfix for GPT Lookup input datatype annotation * Apply CustomOp refactor to squeeze/unsqueeze * [CI] Adjust Transformer test config * Fix scalar axes input for Squeeze/Unsqueeze * Add docstrings * Log tensor statistics if verify_save_full_context enabled * [Lint] Add Ruff Configuration to pyproject.toml (#68) Co-authored-by: Felix Jentzsch <[email protected]> * Add configurable mean absolute/relative error tolerance to verify_step * [CI] Increase GPT A verification error tolerance * Re-organize how dvc manages model dir * Add benchmark model from finn-transformers repo to CI config * Fix to make InferScaledDotProductAttention more robust * Fix unsupported layer error/warning * Fix Squeeze transform setting illegal axis attribute * [CI] Move Transformer regression tests into separate config * Make unsupported layer error work before or after specialization step * [OOCsynth] Add additional argument to pass in tcl scripts to instantiate fp ip * [projgen] Extend script to take in float ip tcl scripts and extend sources.tcl to call them * [vivadocompile tcl] Change dsp reporting * Add docstrings * [CI] Do not run Transformer regression tests for every PR to dev * Fix checksum slicing in instrumentation_wrapper (ported from finn-hlslib) (#124) * Fix cybersecurity example model file (#125) * [Reshape] Add Reshape hardware operator based on AXI pass-through DWC Note: Inferring Reshape is included as a default hardware conversion transformation, meaning any Reshape remaining to the end of hardware conversion will be turned into the Reshape pass-through operator. * [Folding] Derive SetFolding maximum PE fallback from output shape Note: Previously this assumed identical input and output shape for PE-ops, which might not always be the case, e.g., Reshape. As PE refers to the output parallelism, the fallback should be derived from the output shape to get valid folding. * [Folding] Consider Reshape_rtl as PE-op for SetFolding * Add missing docstrings * Add missing docstrings * [Folding] Derive SetFolding maximum PE fallback from output shape (#127) * Run lint on latest dev (#132) * [Reshape] Fix wrong dtype attribute name in infer_node_datatype (#131) * Refactor qnn-data and remove unneeded dependencies (#113) * Move testcode to tests and notebook code to notebooks * Remove imagenet.py from main finn package * Add missing init py * Exclude tests folder from docstrings requirement * Add missing docstrings * Update imports * Fix last imports * Try adding non python files to test package * Fix missing files * Add vivado scripts to package * update toml * Try fixing missing vivado_scripts * Debug vivado run failures * Try fixing imports in notebooks * Allow copy to not find files * Fix imports * New modular packages for tests and notebooks * Update imports * Fix building wheels * Fix poetry path * Fix poetry paths in .gitlab-ci.yml * Try to get poetry to finally build the wheels for tests and notebooks correctly * Try workaround for poetry bug * Poetry bug workaround * Test CI corruption * Try fixing poetry bug withot breaking the pipeline * Fix notebooks * Fix vivado project generation * Start pruning dependencies * Fix missing wget package in tests * Update gitignore * Try excluding torch and dvc from package * For testing set version fixed to 1.0.1 Uncomment version line and set version to 1.0.1 * Fix version formatting in pyproject.toml * Add missing package dependency definition for subpackages * Fix env dir var resolution for notebooks and tests * Remove qnn-data folder * Fix path in tests * Move pybind dep to poetry and clean up dependencies * Fix fpga module stuff for pipeline * Fix fpga module stuff for pipeline * Make sure Python 3.11 is available. * Fix typo * Bump version of finn-plus extras in toml * Revert Python to 3.10 and add pybind for compatibility until fifo rework * Revert to automatic versioning * Configure dynamic version correctly * Use correct build-system settings for submodules * Set version correctly * Fix linting * Fix docstrings * Add the missing fifos to get_folding_cfg * Add Badges to README (#133) * Add PyPI badges to README Added badges for PyPI downloads and version to README. * Enhance README with more badges Added additional badges for license, documentation, CI status, and dependencies. * Fix linting * Remove QONNX badge from README until it is properly pinned Removed duplicate badge for QONNX from README. * Add missing docstrings for merge to main (#136) --------- Co-authored-by: Christoph Berganski <[email protected]> Co-authored-by: Felix Jentzsch <[email protected]> Co-authored-by: bwintermann <[email protected]> Co-authored-by: bwintermann <[email protected]> Co-authored-by: Felix Jentzsch <[email protected]> Co-authored-by: bwintermann <[email protected]> Co-authored-by: auphelia <[email protected]> Co-authored-by: Alexander Klassen <[email protected]>
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.
The qnn-data folder has no real purpose and is only a catch all folder for files that have no real home.
In this PR I cleaned up the qnn-data folder.
Additionally, I found that we also have some other files in the main FINN+ src folder, which have no reason to be there.
Therefore:
Code not relevant to main FINN should not be part of the FINN compiler package.
This allows us to reduce the number of dependencies that need to be installed.
This is a big PR, but I hope that it is the last one needed to really clean up FINN+.