Giter Site home page Giter Site logo

wchgithb / lutnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from awai54st/lutnet

0.0 0.0 0.0 15.74 MB

论文:LUTNet: Rethinking Inference in FPGA Soft Logic

License: BSD 2-Clause "Simplified" License

Shell 0.01% C++ 0.72% Python 3.16% C 2.24% Objective-C 5.43% Tcl 0.13% Verilog 88.30%

lutnet's Introduction

LUTNet

Repo organisation

The repo contains two versions of LUTNet.

  • Unrolled LUTNet: Operators in convolutional layers are mapped to FPGA resources with one-to-one LUT binding. No BRAM is consumed for weight storage as weights are hardened in LUT configuration masks. Details can be found in our paper LUTNet: Rethinking Inference in FPGA Soft Logic.
  • Tiled LUTNet: Operators are tiled and reused, trading off area efficiency for resource savings. BRAMs are consumed for weight storage. Details can be found in our article LUTNet: Learning FPGA Configurations for Highly Efficient Neural Network Inference.

Prerequisites

For training LUTNet, you should have the following packages installed:

  • Keras (v2)
  • TensorFlow

For hardware synthesis, we developed and tested the project with Vivado (+ HLS) 2016.3. Newer versions of Vivado HLS do not work with our project. In newer versions of Vivado HLS, loop unrolling factors are limited, reducing the area-efficiency advantage of LUTNet.

Results

Dataset Tiling Top-1 Accuracy (%) LUT FPS
MNIST Fully unrolled 98.01 58192 200M
SVHN Largest conv layer fully unrolled 96.20 154814 200M (Target layer only)
SVHN Tiled 96.42 361528 10.2k
CIFAR-10 Largest conv layer fully unrolled 84.21 246044 200M (Target layer only)
CIFAR-10 Tiled 84.80 106776 10.2k
ImageNet Largest conv layer fully unrolled 41.45 496160 5.56M (Target layer only)
ImageNet Tiled 41.28 482903 260

Citation

If you make use of this code, please acknowledge us by citing our conference paper and/or journal article:

@inproceedings{lutnet_fccm,
	author={Wang, Erwei and Davis, James J. and Cheung, Peter Y. K. and Constantinides, George A.},
	title={{LUTNet}: Rethinking Inference in {FPGA} Soft Logic},
	booktitle={IEEE International Symposium on Field-Programmable Custom Computing Machines},
	year={2019}
}

@article{lutnet_tc,
	author={Wang, Erwei and Davis, James J. and Cheung, Peter Y. K. and Constantinides, George A.},
	title={{LUTNet}: Learning {FPGA} Configurations for Highly Efficient Neural Network Inference},
	journal={IEEE Transactions on Computers},
	year={2020},
	note={to appear}
}

lutnet's People

Contributors

jjd06 avatar awai54st avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.