-
Yaman Umuroglu authored
* [Util] Add mobilenet to test.py in util * [Test] Add first draft of brevitas export unit test into test suite * [Test] Shorten import of mobilenet and add example picture * [Docker] Temporarily set brevitas commit version to auphelia brevitas fork * [Test] Add transformation and execution function to mobilnet test * [Docker] Change brevitas repo back to Xilinx repo * [Test] Add transformations and execution to mobilenet test * [Docker] Update brevitas commit version * [Test] Insert Topk into mobilenet test * [Test] Use Top5 to verify mobilenet functionality of execution in FINN * [CustomOp] Remove rounding in QuantAvgPool2d * [Test] Add first streamlining transformations to mobilenet test * [Notebook] Add end2end notebook for mobilenet-v1 * [Test] Add transformation to streamline mobilenet-v1 * [Test & Notebook] Update streamlining and lowering of mobilenet-v1 * [Test] Add test setup for move flatten transformation * [Test] Add tidy up trafo mobilenet test * [Streamline] Add reorder fct to move flatten past matmul, mul or add * [Test] Update test to check functional verification after MoveFlatten trafo * [Test] Add new trafos to mobilenet test * [Streamline] Add drafts for move transformations to reorder trafos * [Test] Delete obsolete test and update mobilenet test * [Streamline] Fix missing return in MoveTransposePastScalarMul * [Test] Update mobilenet test with new transformations * [Test] Add mul value to make model outputs comparable (mobilenet-v1) * [Test&Notebook] Update mobilenet-v1 streamlining * [Test] Add preprocessing as exportable pytorch module for mobilenet and merge models * [Util] Add pytorch modules for imagenet normalize preprocessing * [Util] Add functions to resize and centercrop a PIL image * [Test] Refactor mobilenet test * [Test] Set input finn dtype and fix bug with saving onnx checkpoints * [Test] First draft of end2end test mobilenet (prepare model for flow) * [Test] Add streamlining and lowering to end2end mobilenet test * [Test] Add hls conversion and dataflow partitioning to mobilenet end2end test * [Transform] ConvertToHLSLayers add support for QuantAvgPool2d with data layout NHWC * [Test] Save golden output for end2end mobilenet * [Test] Add folding and draft for verification to end2end mobilenet * [Transform] Fix bug in insertion of pool batch node * [Test] Add time measurement to end2end mobilenet * [Test] Add ip gen and rtlsim to end2end mobilenet test * [Transform] Add missing import HLS conversion * [Test] Clean dataflow partition of mobilenet before saving * [Docker] mount imgnet val if specified * [Util] add some ImageNet val utils * [Test] add validation test for MobileNet-v1 * [Util] support logging QuantTensors in forward hook * [Test] add debug option for tensorwise comparison in validate_mobilenet * [Test] Delete streamlining part from mobilenet export test * [Test] pre-commit test_brevitas_mobilenet * [Util] Set resample=0 in PIL resize function * [Doc] document the imagenet val env.var * [Test] mark mobilenet val test as xfail * [Test] correct typo in MobileNet-v1 val test * [Test] fix MobileNet-v1 validation test for multiple imgs * [Util] fix get_val_images for ImageNet validation * [Util] more ImageNet testing utils * [Test] use new utils in MobileNet-v1 tests * [Util] update ImageNet utils to use torchvision utils * [Test] test preproc only in test_brevitas_mobilenet_preproc * [Util] add option to control get_val_images order * [Test] different classes for mobilenet comparison * [StreamingFC] clip thresholds larger than acc * [VVAU] add accumulator minimization and threshold clipping * [HLSCustomOp] clip thresholds on both sides if needed * [Transform] call acc minimization for VVAU too * [Test] reorder tests for end2end mobilenet * [Test] fixes to MobileNet validation after merge * [Test] MobileNet-v1: temp fix for export + add fifo set and build * [Transform] fix num inp vectors for InferLabelSelect * [Test] MobileNet: bring back labelselect, use dataflow partition * [Deps] update Brevitas to get mobilenet export fix * [Test] bring back export for mobilenet-v1 end2end * [Test] MobileNet-v1: add extra_fold, reorder tests * [Test] MobileNet-v1: additional marks + bugfix * [Test] MobileNet-v1: fix build dir * [LabelSelect] fix cppsim bug * [SetFIFODepths] allow overriding auto for large FIFOs * [Test] MobileNet-v1: add more config options to mnv1 end2end test * [Vitis] enable Vivado physopts with PERFORMANCE_BEST * [Test] MobileNet-v1 edn2end: aim for higher perf * [Build] add more build options + minor improvements including Vitis build strategy, large FIFO mem mode + ability to spec custom fifo depths * [Docker] minor improvements in run-docker.sh * [Docker] new attempt at handling XRT deps * [Test] mark semi-failing MNv1 tests as xfail * [Infra] fix entrypoint script working dirs * [Build] allow specifying fxns as build steps * [Build] print build log location * [InsertFIFO] allow creating shallow FIFOs if desired * [Build] create shallow FIFOs to use ApplyConfig, then remove as needed * [Infra] use abspath for Dockerfile * Revert "[Infra] use abspath for Dockerfile" This reverts commit 010fb910b140e7539e1599862681a4d520171388. * [Infra] better solution for run-docker.sh from outside * [HLSCustomOp] add directory check after running IPGenBuilder * [Build] rename to step_set_fifo_depths, fix non-auto depth case * [Build] typo fix Co-authored-by:
auphelia <jakobapk@web.de>
Yaman Umuroglu authored* [Util] Add mobilenet to test.py in util * [Test] Add first draft of brevitas export unit test into test suite * [Test] Shorten import of mobilenet and add example picture * [Docker] Temporarily set brevitas commit version to auphelia brevitas fork * [Test] Add transformation and execution function to mobilnet test * [Docker] Change brevitas repo back to Xilinx repo * [Test] Add transformations and execution to mobilenet test * [Docker] Update brevitas commit version * [Test] Insert Topk into mobilenet test * [Test] Use Top5 to verify mobilenet functionality of execution in FINN * [CustomOp] Remove rounding in QuantAvgPool2d * [Test] Add first streamlining transformations to mobilenet test * [Notebook] Add end2end notebook for mobilenet-v1 * [Test] Add transformation to streamline mobilenet-v1 * [Test & Notebook] Update streamlining and lowering of mobilenet-v1 * [Test] Add test setup for move flatten transformation * [Test] Add tidy up trafo mobilenet test * [Streamline] Add reorder fct to move flatten past matmul, mul or add * [Test] Update test to check functional verification after MoveFlatten trafo * [Test] Add new trafos to mobilenet test * [Streamline] Add drafts for move transformations to reorder trafos * [Test] Delete obsolete test and update mobilenet test * [Streamline] Fix missing return in MoveTransposePastScalarMul * [Test] Update mobilenet test with new transformations * [Test] Add mul value to make model outputs comparable (mobilenet-v1) * [Test&Notebook] Update mobilenet-v1 streamlining * [Test] Add preprocessing as exportable pytorch module for mobilenet and merge models * [Util] Add pytorch modules for imagenet normalize preprocessing * [Util] Add functions to resize and centercrop a PIL image * [Test] Refactor mobilenet test * [Test] Set input finn dtype and fix bug with saving onnx checkpoints * [Test] First draft of end2end test mobilenet (prepare model for flow) * [Test] Add streamlining and lowering to end2end mobilenet test * [Test] Add hls conversion and dataflow partitioning to mobilenet end2end test * [Transform] ConvertToHLSLayers add support for QuantAvgPool2d with data layout NHWC * [Test] Save golden output for end2end mobilenet * [Test] Add folding and draft for verification to end2end mobilenet * [Transform] Fix bug in insertion of pool batch node * [Test] Add time measurement to end2end mobilenet * [Test] Add ip gen and rtlsim to end2end mobilenet test * [Transform] Add missing import HLS conversion * [Test] Clean dataflow partition of mobilenet before saving * [Docker] mount imgnet val if specified * [Util] add some ImageNet val utils * [Test] add validation test for MobileNet-v1 * [Util] support logging QuantTensors in forward hook * [Test] add debug option for tensorwise comparison in validate_mobilenet * [Test] Delete streamlining part from mobilenet export test * [Test] pre-commit test_brevitas_mobilenet * [Util] Set resample=0 in PIL resize function * [Doc] document the imagenet val env.var * [Test] mark mobilenet val test as xfail * [Test] correct typo in MobileNet-v1 val test * [Test] fix MobileNet-v1 validation test for multiple imgs * [Util] fix get_val_images for ImageNet validation * [Util] more ImageNet testing utils * [Test] use new utils in MobileNet-v1 tests * [Util] update ImageNet utils to use torchvision utils * [Test] test preproc only in test_brevitas_mobilenet_preproc * [Util] add option to control get_val_images order * [Test] different classes for mobilenet comparison * [StreamingFC] clip thresholds larger than acc * [VVAU] add accumulator minimization and threshold clipping * [HLSCustomOp] clip thresholds on both sides if needed * [Transform] call acc minimization for VVAU too * [Test] reorder tests for end2end mobilenet * [Test] fixes to MobileNet validation after merge * [Test] MobileNet-v1: temp fix for export + add fifo set and build * [Transform] fix num inp vectors for InferLabelSelect * [Test] MobileNet: bring back labelselect, use dataflow partition * [Deps] update Brevitas to get mobilenet export fix * [Test] bring back export for mobilenet-v1 end2end * [Test] MobileNet-v1: add extra_fold, reorder tests * [Test] MobileNet-v1: additional marks + bugfix * [Test] MobileNet-v1: fix build dir * [LabelSelect] fix cppsim bug * [SetFIFODepths] allow overriding auto for large FIFOs * [Test] MobileNet-v1: add more config options to mnv1 end2end test * [Vitis] enable Vivado physopts with PERFORMANCE_BEST * [Test] MobileNet-v1 edn2end: aim for higher perf * [Build] add more build options + minor improvements including Vitis build strategy, large FIFO mem mode + ability to spec custom fifo depths * [Docker] minor improvements in run-docker.sh * [Docker] new attempt at handling XRT deps * [Test] mark semi-failing MNv1 tests as xfail * [Infra] fix entrypoint script working dirs * [Build] allow specifying fxns as build steps * [Build] print build log location * [InsertFIFO] allow creating shallow FIFOs if desired * [Build] create shallow FIFOs to use ApplyConfig, then remove as needed * [Infra] use abspath for Dockerfile * Revert "[Infra] use abspath for Dockerfile" This reverts commit 010fb910b140e7539e1599862681a4d520171388. * [Infra] better solution for run-docker.sh from outside * [HLSCustomOp] add directory check after running IPGenBuilder * [Build] rename to step_set_fifo_depths, fix non-auto depth case * [Build] typo fix Co-authored-by:
auphelia <jakobapk@web.de>