- Feb 06, 2021
-
-
Yaman Umuroglu authored
* [Deps] update finn-base * [Refactor] fix im2col props for updated finn-base
-
- Feb 01, 2021
-
-
Yaman Umuroglu authored
-
- Jan 26, 2021
-
-
Yaman Umuroglu authored
-
- Jan 21, 2021
-
-
Yaman Umuroglu authored
-
- Jan 20, 2021
-
-
Yaman Umuroglu authored
-
- Jan 17, 2021
-
-
Yaman Umuroglu authored
* [Test] add lfc to end2end tests * [Deps] update hlslib to get comp:: fxns * [HLS] use comp:: comparators instead of std:: * [VVAU] hlslib now uses inner prod dim instead of K * [Thres] manually workaround vivado_hls bug for T[0][0]=0
-
- Jan 15, 2021
-
-
Yaman Umuroglu authored
-
- Dec 17, 2020
-
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
alinavalinav authored
* Created cybersecurity notebook and downloaded data with wget * Reorganized the cybersecurity notebook * Read the entire dataset as a pytorch tensor and trained a simple MLP on the UNSW_NB15 dataset * small changes to markdown * Training and testing have the same integer encoding * Added debugger tool * added loss visualization * aded 1hot encoder and separated dataloader Added 1-hot encoder with scikit learn. Seperated the dataloader into a python file. * changes to get 99.998% accuracy * changed loss plot * accuracy at 70% after 50 epochs However, loss is not ok * got 75% accuracy * see loss * added scheduled statistics * added iterator over all possible parameters * updates on automation debugging model error * Delete cybersecurity-checkpoint.ipynb * Delete cybersecurity_2-checkpoint.ipynb * Delete exemplofixe-checkpoint.ipynb * Delete UNSW_NB15_testing-set.csv * Delete UNSW_NB15_train.csv * Delete UNSW_NB15_training-set.csv * Delete UNSW_NB15_val.csv * general cleanup * general cleanup * updates with 75.7238% accuracy * added quantization of the dataset * debugging the quantization of the dataset * added plots for the debugging * debugging the quantization. Show the differences * update debugging * updates on debugging * updates on debugging quantization * updates on debug, uint32 df added * updates on debugging * added 2 pictures for the debugging * Added quantization of the dataset * aded results for training the model with the quantized dataset * added quantization of the dataset * added new notebook with model definition with brevitas * cleaning up documents * modified the model definition * Changed the loss function * Added debug with pdb * Successfully created neural network with Brevitas * Correctly quantize the dataset * Added export of onnx model * Added FINN validation of the Brevitas model * improved dataloader * general cleanup * General Cleanup * General Cleanup * Completed verifying the FINN model against Brevitas * Added new layer to MLP - Debugging * verified that the MLP model with new layer (QuantIdentity) outputs the same in Brevitas and in FINN for all 82332 test inputs * verified that the MLP model with new layer (QuantIdentity) outputs the same in Brevitas and in FINN for all 82332 test inputs * verified that model with new layer (QuantIdentity) outputs the same in Brevitas and in FINN for all 82332 inputs * verified that model with new layer and input shifted to accept {-1,1}, outputs the same in Brevitas (input is in {-1,+1}) and in FINN (input is in {-1,+1}) for the 82332 inputs * General cleanup and added text * General cleanup: improved text * General cleanup: fixed text typos * General cleanup: Added text * Delete cybersecurity.ipynb * Delete dataloader.py * Rename cybersecurity_Brevitas_1bit.ipynb to 1-cybersecurity-Brevitas-1bit.ipynb * Rename cybersecurity_Brevitas_Verification.ipynb to 2-cybersecurity-finn-verification.ipynb * Added the last notebook * Added last notebook describing the finn build * Added changed parameters to see differences * Added changed parameters and added text * Fixed typo * [Notebooks] reorganize into folders, add README for cybsec * [Notebook] add license header and refs to cybsec dataset quantizer * [Notebooks] rename cybsec notebook files * [Notebook] first pass thru cybsec part 1 * [Notebook] refactor more of cybsec part 1 * [Notebook] add option to use pretrained weights * fixed outline and typo * [Notebook] update cybsec notebook #2 and gitignore * [Notebook] start refactoring cybsec part 3 * [ConvertToHLS] allow out_scale=2 for bipolar MT * [Build] add alternative set of steps for estimation only * [Transform] attempt to handle padding for IODMAs * [Transform] explicitly ignore IODMA nodes for InsertDWC * [Notebook] full pass over cybsec notebook 3 * [Util] move vivado utils into finn-base * fixed outline * [HLSCustomOp] better err msg on ipgen failure Co-authored-by:
Alina Vasilciuc <alinav@xlnx.xilinx.com> Co-authored-by:
Yaman Umuroglu <yamanu@xilinx.com>
-
- Dec 16, 2020
-
-
Yaman Umuroglu authored
-
- Dec 14, 2020
-
-
Tobi-Alonso authored
-
Yaman Umuroglu authored
-
- Dec 13, 2020
-
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
* [Driver] add driver_base.py as own template file + comments * [Driver] also move validation to won template + use in transform * [Driver] more comments * [Driver] suggested updates from PYNQ team + async mode exec_on_buffers * [Driver] allow smaller batchsize in execute_on_buffers * [Driver] optimize buffer alloc a bit * [Driver] wait condition fix * [Deps] update finn-base * [Deps] update finn-base * [Driver] enable fast_mode, expose more benchmarks * [Deps] update finn-base
-
Yaman Umuroglu authored
* [Build] introduce step_measure_rtlsim_performance * [Docs] document the rtlsim performance step * [Docs] add comments on CPU/RAM/storage recommandations * [Build, Test] enable rtlsim perf as part of build test too * [Build] print where intermediate outputs are generated * [Docs] remove ghpages content, add note * [Docker] use -c continue for build_custom mode * [Docs] minor fixes
-
- Dec 09, 2020
-
-
Yaman Umuroglu authored
* [Build] add verification-related options to DataflowBuildConfig * [Build] add verification to build steps * [Test] build_dataflow: check for verification outputs * [Docs] add documentation on build verification steps
-
Yaman Umuroglu authored
-
- Dec 08, 2020
-
-
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
* [Build] add a deployment_package step * [Build] typo fix in build examples * [Build] fix deployment_package step * [Analysis] ensure python integers in fpgadataflow analysis passes * [Build] report generation and other minor improvements * [Docs] update build_dataflow docs * [Build] latency est. fix * [Build] check if fold config is None * [Build] add ooc synthesis step * [Deps] update finn-base * [Util] out_of_context_synth: remove remote, use launch_process_helper * [Build] include all outputs in examples configs * [Docs] update build flow docs * [Deps] update finn-base * [Util] bugfix in launch_process_helper call * [Docker] use interactive mode for builds * [Build] enable pdb debugging for builds * [Refactor] move build functions to own submodule * [Test] build_dataflow: fix expected files * [Build] report estimated resource total * [Infra] remove old eggs * [HLSCustomOp] introduce get_op_counts only implemented for MVAU and VVAU for now * [HLSCustomOp] extend get_op_counts to include params too * [Analysis] introduce op_and_param_counts pass * [Build] generate op/param counts as part of estimates + add doc * [HLSCustomOp] assert if ap_int_max_w is too large * [StreamingFC] fix ap_int_max_w calculation * [Build] minor fix in step_generate_estimate_reports * [StreamingFC] enable decoupled URAM weights * [StreamingFC export 0-valued .dat for decoupled uram * [Zynq] bugfix: AXI MM and lite IF counts were switched around * [Zynq] support wiring up multiple AXI lites in shell * [Deps] update finn-base * [HLSCustomOp] introduce uram_efficiency_estimation * [StreamingFC] implement uram eff est * [FIFO] fix ip packaging problems * [Thres] better integer check for thresholds * [HLSCustomOp] rework infer_node_datatype to be more flexible allow re-setting of inputDataType if it changed during datatype inference * [Thres] bugfix in integer thres check * [Thres] bugfix in integer thres check * [Docker] relax instance name, only fwd ports in notebook mode * [Driver] generate runtime weight files for appropriate layers * [Driver] draft a first version of load_runtime_weights * [Driver] fixes&enhancements to load_runtime_weights * [Driver] typo fix in split * [Test] use runtime weights for tfc end2end * [Build] bugfix in ooc step * [Driver] also handle runtime-writable thresholds * [Thresholding] implement get_op_and_param_counts * [Test] use tfc-w1a1 as standalone thresholds end2end testcase * [Build] add option for standalone thresholds * [Driver] update comments * [Driver] overhaul driver, split up template * [Test] fix test_res_estimate expectation * [Driver] fix varname in template
-
- Dec 03, 2020
-
-
Yaman Umuroglu authored
* [Build] add a deployment_package step * [Build] typo fix in build examples * [Build] fix deployment_package step * [Analysis] ensure python integers in fpgadataflow analysis passes * [Build] report generation and other minor improvements * [Docs] update build_dataflow docs * [Build] latency est. fix * [Build] check if fold config is None * [Build] add ooc synthesis step * [Deps] update finn-base * [Util] out_of_context_synth: remove remote, use launch_process_helper * [Build] include all outputs in examples configs * [Docs] update build flow docs * [Deps] update finn-base * [Util] bugfix in launch_process_helper call * [Docker] use interactive mode for builds * [Build] enable pdb debugging for builds * [Refactor] move build functions to own submodule * [Test] build_dataflow: fix expected files * [Build] report estimated resource total * [Infra] remove old eggs * [HLSCustomOp] introduce get_op_counts only implemented for MVAU and VVAU for now * [HLSCustomOp] extend get_op_counts to include params too * [Analysis] introduce op_and_param_counts pass * [Build] generate op/param counts as part of estimates + add doc * [HLSCustomOp] assert if ap_int_max_w is too large * [StreamingFC] fix ap_int_max_w calculation * [Build] minor fix in step_generate_estimate_reports
-
Tobi-Alonso authored
Set vivado DWC input width explicitly as by default a block will have a 1 byte input which probably will cause a bottleneck (#254)
-
- Dec 01, 2020
-
-
Yaman Umuroglu authored
-
Lucian Petrica authored
* Added transform and test for auto-folding to throughput target * [SetFolding] improve comments * [SetFolding] allow customizing mvau_wwidth_max * [SetFolding] put ops into groups to reduce code redundancy * [SetFolding] add a two-pass relaxation option * [LabelSelect] implement get_exp_cycles * [SetFolding] handle LabelSelect too * [SetFolding] extra comment * [SetFolding] fix swg setting, add warning * [SetFolding] call GiveUniqueNodeNames before AnnotateCycles * [Build] add build config option to target FPS * [Test] use target_fps for example dataflow build config file Co-authored-by:
Yaman Umuroglu <yamanu@xilinx.com>
-
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>
-
- Nov 24, 2020
-
-
Yaman Umuroglu authored
-
Yaman Umuroglu authored
-
- Nov 23, 2020
-
-
Yaman Umuroglu authored
* [Build] initial commit for a build util fxn * [Build] flesh out build_dataflow * [Build] bugfixes+partitioning for dataflow build * [Build] support from/to steps, add some verbosity * [Build] use explicit strings for config enums * [Deps] add clize and dataclasses-json * [Build] add cmdline entry for building folder, mixin json to cfg * [Build] cd into specified dir for build_dataflow * [Infra] add new build_dataflow entrypoint to run_docker.sh * [Build] let Python do exception handling in build_dataflow * [Infra] add new run-docker.sh entrypoint for build_custom * [Deps, Infra] update finn-base, set FINN_BUILD_DIR envvar * [Test] fix manual /tmp usage in tests * [Infra] avoid manual setting of build dir for now breaks in IP stitching for some reason * [Docs, Build] rename to build_dataflow + add some docs * [GHA] fix missing env.var. * [Build] allow specifying steps by name * [Build] add logging support in build_dataflow * [Zynq] use impl resources, add close_project still looking for ways around Vivado randomly hanging and not exiting after synth finish * [Build] make more outputs available from build_dataflow * [Zynq] use vivado -batch for tcl call to synth * [Deps] update pyverilator * [Build] use abspath * [Test] add test_build_dataflow_directory * [Build] add build.py example * [Docs] add docs about command line entry * [Setup] include finn-base in install_requires this is needed to build readthedocs properly
-