Lenet for MNIST handwritten digit recognition using Vivado hls tool.
- Accuracy : 97.5938% (8-bit Mode).
- Speed : 71.43 FPS (100MHz, Zedboard)
- The complete project is provided, please download it from Baidu net disk, key:1bv4
- Vivado hls 2019.2
- petalinux 2019.2 (optional)
- Vitis 2019.2
- python 3+
-
Download MNIST dataset from MNIST and cpoy the dataset to '~/Vivado_hls/MNIST_DATA/'
-
build hls project
# When you are in the project root directory
cd Vivado_hls
vivado_hls -f script.tcl
- Generate 'tanh' table (default: ap_fixed<8,3>)
# When you are in the project root directory
cd Vivado_hls/tools
python ./tanh_table.py
- build vivado project
# When you are in the project root directory
cd Vivado
vivado -source source/tcl
-
Generate output product && export hardware.
-
Open Vitis && create platform from *.xsa generated by vivado.
-
Create an application project based on the 'hello world' template.
-
Use this file './Vitis/helloworld.c' replace the original file and add file './Vitis/mnist_data.h'.
-
Run and see the results
- Simplify lookup table of 'tanh'.
- Complete PS design based on embedded linux.