Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: TOC, formatting

This page provides an introduction to the "Accelerated Image Classification via Binary Neural Network" (short AIC) design example.

Table of Contents

Table of Contents

Document History

...

Date Version

...

Document History

Update Document to latest changes
Date Version Author Description of Revisions
2018-03-26V0.1Andreas Schuler (MLE)Initial Document
2018-04-30V1.0Andreas Schuler (MLE)first release
2018-05-03V1.1Andreas Schuler (MLE)

Add reference to Xilinx Research Lab

2018-12-14V1.1Andreas Schuler (MLE) Author Description of Revisions
2018-03-26V0.1Andreas Schuler (MLE)Initial Document
2018-04-30V1.0Andreas Schuler (MLE)first release
2018-05-03V1.1Andreas Schuler (MLE)

Add reference to Xilinx Research Lab

2018-12-14V1.1Andreas Schuler (MLE)Update Document to latest changes

Introduction

This design example demonstrates how moving software implemented neural networks can be dramatically accelerated via Programmable Logic. In this design a Binary Neural Network (BNN) is implemented. Depending on silicon platform an acceleration of 6,000 to 8,000 times is demonstrated. Via the graphical user interface the user can see metrics, images and classification results.

The work is based on top of the work of the Xilinx Research Lab. More information can be found here:
Inference of quantized neural networks on heterogeneous all-programmable devices (DATE 2018)
FINN: A Framework for Fast, Scalable Binarized Neural Network Inference (FPGA 2017)
Scaling Binarized Neural Networks on Reconfigurable Logic (PARMA-DITAM 2017)
Scaling Neural Network Performance through Customized Hardware Architectures on Reconfigurable Logic (ICCD 2017)

You can also checkout following repositories:
https://github.com/Xilinx/BNN-PYNQ
https://github.com/Xilinx/QNN-MO-PYNQ


For any questions please contact Missing Link Electronics (MLE).


The AIC Demo is available for following Platforms:

BoardDeviceRevision
ZCU102XCZU9EGRev D2, Rev 1.0, Rev 1.1
Ultra96XCZU3EGV1



Implementation

Implementation Details
Design TypePS & PL
SW TypePetaLinux/Ubuntu, QT5.4.2, OpenCV-3.3.0
CPUsQuad A53
PS FeaturesDDR, GPU, Mali400
PL CoresHLS BNN IP
Boards/ToolsZCU102 or Ultra96, USB Hub, Mouse, Logitech HD Pro Webcam Brio/C920/C525/C615, UHD or HD DisplayPort Monitor
Xilinx Tools VersionVivado 2017.3
Other DetailsVivado Base

...

In the folder aic/src_sw/<platform name>-petalinux all files to rebuild the BOOT.BIN file of the linux system can be found. This is needed if the FPGA design was modified and it is needed to deploy the rebuilt bitstream to the system.

4.

...

Bring up the system and run the design


This section describes how to set up the board and peripherals, then explains how to
run the design. All this is based on the pre built design, that can be found on the provided SD-Card
image. If you would like to modify or rebuild parts of the design, please look at section Rebuild the
Design from source.

...