Try to implement an Auto-encoder NN on FINN platform
Folder Structure
| -- README.md # overview of the project
| -- Autoencoder defect detection.ipynb # the notebook use to run the whole project
| -- docs/ # Documentation files – ppt
| -- block/ # include input testing and training image originated to MVTec, put the folder in the same work space together with notebook
| -- LICENSE # License file, we use MIT License
Introduction
Dataset
MVTec bottle image set
Auto-encoder structure
Current Result
Due to some activate function and data type that is not supported on Brevitas:
1.QuantTanh 2.QuantConvTranspose2d 3.QuantSigmoid 4.QuantType.FP
and on FINN:
1.QuantUpsample 2.QuantTanh 3.QuantSigmoid
So our work now use a method that turns around, Apply linear structure but use ReLu to do as Sigmoid
to==>
Currently, we stuck at ZynqBuild() step as follow,
Rebuild the Project
Requirements
Ubuntu 18.04, or other GNU/Linux distributions
Docker without root
Vivado 2020.1 and Vivado 2020.2
PyTorch >= 1.5.0
Brevitas >= v0.7.0
FINN v0.7
TUL PYNQ-Z2 development board
Procedure
Put the notebook with the block directory together to the (path to FINN installed)/notebooks, then use ./run-docker.sh notebook to open the notebook where is located.