Skip to content
Snippets Groups Projects
  • Yaman Umuroglu's avatar
    620b96f3
    MobileNet-v1 on Alveo (#252) · 620b96f3
    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: default avatarauphelia <jakobapk@web.de>
    MobileNet-v1 on Alveo (#252)
    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: default avatarauphelia <jakobapk@web.de>