# PYNQ-Classification **Repository Path**: jiskra/PYNQ-Classification ## Basic Information - **Project Name**: PYNQ-Classification - **Description**: Python on Zynq FPGA for Convolutional Neural Networks - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2020-06-04 - **Last Updated**: 2025-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## PROJECT NAME: PYNQ Classification - Python on Zynq FPGA for Convolutional Neural Networks (Alpha Release) ## BRIEF DESCRIPTION: This repository presents a fast prototyping framework, which is an Open Source framework designed to enable fast deployment of embedded Convolutional Neural Network (CNN) applications on PYNQ platforms. ## INSTRUCTIONS TO BUILD AND TEST THE PROJECT: ### Repository Organisation The project demo accepts pre-trained CNN models in either Caffe or Theano syntax, hence the step 1 and 2 introduces how to install Caffe and Theano (with Lasagne) on PYNQ. Step 3 explains how to download and run the demos for LeNet and CIFAR-10 (Caffe "quick" version) models. For a quick overview on the project please watch [my video tutorial](https://youtu.be/DoA8hKBltV4). ### 1. PYNQ SD Card Image We have prepared a SD card image with pre-installed Caffe and Theano dependencies. A SD card with at least 16GB is needed. The static IP for the PYNQ Jupyter Notebook is 192.168.2.99 [Download Link (on Baidu Drive)](https://pan.baidu.com/s/1c2EmMvY) [Download Link (on Google Drive)](https://drive.google.com/open?id=1A9MrN_zzbHYiIHJvnNQYFc3sXqWZBb6o) If you wish to setup Caffe and Theano dependencies on your own, please see [MANUAL_INSTAL.md](MANUAL_INSTALL.md) for instructions. (NOT RECOMMENDED since multiple issues have been reported) ### 2. Vivado Project Setup - How to implement more CNN models? The VIVADO_SIDE.7z package contains the Vivado project needed to generate bitstreams for customised CNN models. It contains the "layer IP library", "base project" and "block design project" as mentioned in the tutorial video. ### References ### 1. BNN-PYNQ If you find BNN-PYNQ useful, please cite the FINN paper: @inproceedings{finn, author = {Umuroglu, Yaman and Fraser, Nicholas J. and Gambardella, Giulio and Blott, Michaela and Leong, Philip and Jahre, Magnus and Vissers, Kees}, title = {FINN: A Framework for Fast, Scalable Binarized Neural Network Inference}, booktitle = {Proceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays}, series = {FPGA '17}, year = {2017}, pages = {65--74}, publisher = {ACM} } ### 2. Caffe Caffe is released under the [BSD 2-Clause license](https://github.com/BVLC/caffe/blob/master/LICENSE). The BAIR/BVLC reference models are released for unrestricted use. Please cite Caffe in your publications if it helps your research: @article{jia2014caffe, Author = {Jia, Yangqing and Shelhamer, Evan and Donahue, Jeff and Karayev, Sergey and Long, Jonathan and Girshick, Ross and Guadarrama, Sergio and Darrell, Trevor}, Journal = {arXiv preprint arXiv:1408.5093}, Title = {Caffe: Convolutional Architecture for Fast Feature Embedding}, Year = {2014} } ### 3. Theano @ARTICLE{2016arXiv160502688short, author = {{Theano Development Team}}, title = "{Theano: A {Python} framework for fast computation of mathematical expressions}", journal = {arXiv e-prints}, volume = {abs/1605.02688}, primaryClass = "cs.SC", keywords = {Computer Science - Symbolic Computation, Computer Science - Learning, Computer Science - Mathematical Software}, year = 2016, month = may, url = {http://arxiv.org/abs/1605.02688}, } ### 4. Lasagne @misc{lasagne, author = {Sander Dieleman and Jan Schlüter and Colin Raffel and Eben Olson and Søren Kaae Sønderby and Daniel Nouri and others}, title = {Lasagne: First release.}, month = aug, year = 2015, doi = {10.5281/zenodo.27878}, url = {http://dx.doi.org/10.5281/zenodo.27878} }