QONNX ingestion for Vivado and Quartus
Created by: jmitrevs
Description
This is the main development to ingest QONNX in hls4ml. It's a bit of a large PR, and will probably take a while to review and update as needed. It has been tested on the QONNX model zoo inputs, and includes them in pytests.
It includes #562, #583, and #525 because they were largely developed here, and are generally needed for ONNX parsing. Ideally, those would go in first. (I will go through those PRs to make sure they have everything needed to be merged.)
For more information, see https://indico.cern.ch/event/1184299/contributions/4975803/attachments/2484362/4265432/QONNX%20Ingestion.pdf
Type of change
For a new feature or function, please create an issue first to discuss it with us before submitting a pull request.
Note: Please delete options that are not relevant.
-
Bug fix (non-breaking change that fixes an issue) -
New feature (non-breaking change which adds functionality) -
A new research paper code implementation
Tests
The test_qonnx.py
is the main source of tests, mainly running over the QONNX model zoo inputs.
-
Add tests that do synthesis
Checklist
-
I have read the guidelines for contributing. -
I have commented my code, particularly in hard-to-understand areas (but could do better) -
I have made corresponding changes to the documentation. -
My changes generate no new warnings. -
I have added tests that prove my fix is effective or that my feature works.