Code Monkey home page Code Monkey logo

fpgaconvnet-tutorial's Introduction

fpgaconvnet-tutorial

Welcome to the start of your fpgaConvNet journey!

fpgaConvNet is an automated toolflow for designing Convolutional Neural Network (CNN) accelerators on FPGAs with state-of-the-art performance and efficiency. It takes an CNN model description (either PyTorch or ONNX) and platform constraints of an FPGA, and produces a bitstream of an accelerator which is optimised for the specific FPGA and model pair. In this repo we will take you through the different aspects of the fpgaConvNet toolflow using examples of interacting with the API, from hardware component modelling all the way to end-to-end model to accelerator compilation.

The toolflow can be used to accelerate a number of applications, including: Image Classification, Object Detection, Segmentation, Human Action Recognition, Key Word Spotting, Anomaly Detection, and etc.

Environment setup can be found at 0: Getting Started.

You are also welcome to try our end-to-end development example here.

Project Structure

tutorial-structure

The fpgaConvNet codebase is split into 4 invididual repositories:

fpgaconvnet-torch, a collection of pre-trained CNN models, providing emulated accuracy results for features such as quantization and sparsity. This repository is optional, if users can provide their own onnx model instead.

fpgaconvnet-model, providing hardware performance and resource modeling, and converting the onnx model to a json-format acclerator configuration.

fpgaconvnet-optimiser, performing Design Space Exploration based on the model predictions to identify the optimal acclerator configuration.

fpgaconvnet-hls, containing hls code templates, translating the identified accelerator configuration into actual source files which can synthesized by Xilinx tools.

fpgaconvnet-tutorial's People

Contributors

alexmontgomerie avatar michalpalic avatar yu-zhewen 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.