← 开源
dgschwend

zynqnet

Master Thesis "ZynqNet: An FPGA-Accelerated Embedded Convolutional Neural Network"

Model DevelopmentArchitectureHTML
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
780
Star
295
Fork
+1
本周
1
贡献者
创建于 2016-07-28 · 更新于 2026-10-11 · 今日第 13896 名
主要开发者
dgschwend

dgschwend/zynqnet 排名第 13,896,有 780 个星标。

同类别比较

dgschwend/zynqnet 排名第 13,896,此处有 8 个同类条目;microsoft/Multiverso 排名第 13,899。

同类别比较
名称排名指标
Farama-Foundation/Miniworld13,876
语言:
Python
星标数:
782
分叉数:
144
简介:
Simple and easily configurable 3D FPS-game-like environments for reinforcement learning
michalfaber/keras_Realtime_Multi-Person_Pose_Estimation13,880
语言:
Jupyter Notebook
星标数:
782
分叉数:
364
简介:
Keras version of Realtime Multi-Person Pose Estimation project
weecology/DeepForest13,883
语言:
Python
星标数:
782
分叉数:
270
简介:
Python Package for Airborne RGB machine learning
vacancy/PreciseRoIPooling13,888
语言:
C++
星标数:
781
分叉数:
151
简介:
Precise RoI Pooling with coordinate gradient support, proposed in the paper "Acquisition of Localization Confidence for Accurate Object Detection" (https://arxiv.org/abs/1807.11590).
microsoft/Multiverso13,899
语言:
C++
星标数:
780
分叉数:
221
简介:
Parameter server framework for distributed machine learning
pyRiemann/pyRiemann13,900
语言:
Python
星标数:
780
分叉数:
194
简介:
Machine learning for multivariate data through the Riemannian geometry of positive definite matrices in Python
scverse/anndata13,901
语言:
Python
星标数:
780
分叉数:
220
简介:
Annotated data.
bayesflow-org/bayesflow13,903
语言:
Python
星标数:
779
分叉数:
92
简介:
A Python library for simulation-based inference with deep learning
关键参数与规格
关键参数与规格
参数值
语言HTML
类别Model Development
子类别Architecture
星标数780
分叉数295
贡献者1
创建日期2016-07-28
更新日期2026-10-11
1 天星标数0
7 天星标数1
排名13,896
上次排名13,781
排名变化-115
7 天星标排名10,706
上次 7 天星标排名10,764
7 天星标排名变化58
总星标排名13,626
上次总星标排名13,608
总星标排名变化-18
国家Switzerland
README 摘录

ZynqNet: An FPGA-Accelerated Embedded Convolutional Neural Network This repository contains the results from my Master Thesis. Master Thesis Project Report (PDF) ZynqNet CNN (prototxt) CNN Topology Exploration ZynqNet FPGA Accelerator (HLS C++) ZynqNet Low-Level Firmware Netscope CNN Analyzer The project has been enabled and supported by Supercomputing Systems AG. Abstract Image Understanding is becoming a vital feature in ever more applications ranging from medical diagnostics to autonomous vehicles. Many applications demand for embedded solutions that integrate into existing

systems with tight real-time and power constraints. Convolutional Neural Networks (CNNs) presently achieve record-breaking accuracies in all image understanding benchmarks, but have a very high computational complexity. Embedded CNNs thus call for small and efficient, yet very powerful computing platforms. This master thesis explores the potential of FPGA-based CNN acceleration and demonstrates a fully functional proof-of-concept CNN implementation on a Zynq System-on-Chip. The _ZynqNet Embedded CNN_ is designed for image classification on ImageNet

and consists of _ZynqNet CNN_, an optimized and customized CNN topology, and the _ZynqNet FPGA Accelerator_, an FPGA-based architecture for its evaluation. _ZynqNet CNN_ is a highly efficient CNN topology. Detailed analysis and optimization of prior topologies using the custom-designed _Netscope CNN Analyzer_ have enabled a CNN with 84. 5% top-5 accuracy at a computational complexity of only 530 million multiplyaccumulate operations. The topology is highly regular and consists exclusively of convolutional layers, ReLU nonlinearities and one

global pooling layer. The CNN fits ideally onto the FPGA accelerator. The _ZynqNet FPGA Accelerator_ allows an efficient evaluation of ZynqNet CNN. It accelerates the full network based on a nested-loop algorithm which minimizes the number of arithmetic operations and memory accesses. The FPGA accelerator has been synthesized using High- Level Synthesis for the Xilinx Zynq XC-7Z045, and reaches a clock frequency of 200MHz with a device utilization of 80% to 90 %. Contribution Initially, this master aimed to

explore, benchmark and optimize one or more commercial approaches to the acceleration of convolutional neural networks on FPGAs, with a focus on embedded systems. Multiple FPGA and intellectual property vendors have announced frameworks and libraries that target the acceleration of deep learning systems. However, none of these solutions turned out to be ready and available for testing. Nevertheless, we decided to further pursue this promising approach by building our own proof-of-concept FPGA-based CNN implementation from scratch, with

a special focus on the optimized co-operation between the underlying hardware architecture and the convolutional neural network. The result is the ZynqNet Embedded CNN, an FPGA-based convolutional neural network for image classification. The solution consists of two main components: 1. The _ZynqNet CNN_, a customized convolutional neural network topology, specifically shaped to fit ideally onto the FPGA. The CNN is exceptionally regular, and reaches a satisfying classification accuracy with minimal computational effort. The _ZynqNet FPGA Accelerator_, a specialized

FPGA architecture for the efficient acceleration of ZynqNet CNN and similar convolutional neural networks. ZynqNet CNN is trained offline on

常见问题

记录了多少星标和分叉?

dgschwend/zynqnet 有 780 个星标和 295 个分叉。

仓库排名是多少?

dgschwend/zynqnet 排名第 13,896。

记录的语言和类别是什么?

dgschwend/zynqnet 有 780 个星标,语言为 HTML,类别为 Model Development。

哪个仓库排名最接近?

dgschwend/zynqnet 与 microsoft/Multiverso 比较,后者排名第 13,899,有 780 个星标。

README

ZynqNet: An FPGA-Accelerated Embedded Convolutional Neural Network

This repository contains the results from my Master Thesis.

The project has been enabled and supported by Supercomputing Systems AG.

Abstract

Image Understanding is becoming a vital feature in ever more applications ranging from medical diagnostics to autonomous vehicles. Many applications demand for embedded solutions that integrate into existing systems with tight real-time and power constraints.

Convolutional Neural Networks (CNNs) presently achieve record-breaking accuracies in all image understanding benchmarks, but have a very high computational complexity. Embedded CNNs thus call for small and efficient, yet very powerful computing platforms. This master thesis explores the potential of FPGA-based CNN acceleration and demonstrates a fully functional proof-of-concept CNN implementation on a Zynq System-on-Chip. The ZynqNet Embedded CNN is designed for image classification on ImageNet and consists of ZynqNet CNN, an optimized and customized CNN topology, and the ZynqNet FPGA Accelerator, an FPGA-based architecture for its evaluation.

ZynqNet CNN is a highly efficient CNN topology. Detailed analysis and optimization of prior topologies using the custom-designed Netscope CNN Analyzer have enabled a CNN with 84.5% top-5 accuracy at a computational complexity of only 530 million multiplyaccumulate operations. The topology is highly regular and consists exclusively of convolutional layers, ReLU nonlinearities and one global pooling layer. The CNN fits ideally onto the FPGA accelerator.

The ZynqNet FPGA Accelerator allows an efficient evaluation of ZynqNet CNN. It accelerates the full network based on a nested-loop algorithm which minimizes the number of arithmetic operations and memory accesses. The FPGA accelerator has been synthesized using High- Level Synthesis for the Xilinx Zynq XC-7Z045, and reaches a clock frequency of 200MHz with a device utilization of 80% to 90 %.

Contribution

Initially, this master aimed to explore, benchmark and optimize one or more commercial approaches to the acceleration of convolutional neural networks on FPGAs, with a focus on embedded systems. Multiple FPGA and intellectual property vendors have announced frameworks and libraries that target the acceleration of deep learning systems.However, none of these solutions turned out to be ready and available for testing.

Nevertheless, we decided to further pursue this promising approach by building our own proof-of-concept FPGA-based CNN implementation from scratch, with a special focus on the optimized co-operation between the underlying hardware architecture and the convolutional neural network. The result is the ZynqNet Embedded CNN, an FPGA-based convolutional neural network for image classification. The solution consists of two main components:

  1. The ZynqNet CNN, a customized convolutional neural network topology, specifically shaped to fit ideally onto the FPGA. The CNN is exceptionally regular, and reaches a satisfying classification accuracy with minimal computational effort.
  2. The ZynqNet FPGA Accelerator, a specialized FPGA architecture for the efficient acceleration of ZynqNet CNN and similar convolutional neural networks.

ZynqNet CNN is trained offline on GPUs using the Caffe framework, while the ZynqNet FPGA Accelerator employs the CNN for image classification, or inference, on a Xilinx Zynq XC- 7Z045 System-on-Chip (SoC). Both components have been developed and optimized within the six month time frame of this master thesis, and together constitute a fully functional convolutional neural network implementation on the small and low-power Zynq platform.

This report documents the ZynqNet CNN and the ZynqNet FPGA Accelerator and gives insight into their development. In addition, the Netscope CNN Analyzer is introduced, a custom tool for visualizing, analyzing and editing convolutional neural network topologies. Netscope has been used to analyze a number of different CNN architectures, and the findings are presented in the form of a Design Space Exploration (DSE) of CNN topologies from prior work. Finally, the performance of the ZynqNet Embedded CNN is evaluated and its performance is compared to other platforms.

Report

The report includes

  • overview + detailed analysis of many popular CNN architectures for image classification (AlexNet, VGG, NiN, GoogLeNet, Inception v.X, ResNet, SqueezeNet)
  • detailed description of the Netscope CNN Analyzer tool
  • overview of CNN analysis and optimization techniques
  • detailed report on the design and implementation of the FPGA-based accelerator

The final report can be found in zynqnet_report.pdf.

ZynqNet CNN

The fully trained CNN with .prototxt network description and pretrained weights can be found under _TRAINED_MODEL

ZynqNet FPGA Accelerator

The C/C++ source code for building the FPGA accelerator using High-Level Synthesis (Vivado HLS) can be found under _HLS_CODE.

The compiled accelerator bitstream can be found under _BITSTREAM.

The firmware for the Zynq XC-7Z045 ARM processors is stored under _FIRMWARE.

Netscope CNN Analyzer

The CNN analysis tool can be found in a separate repository here: dgschwend/netscope

Copyright and License

ZynqNet is Copyright 2016 by David Gschwend. All files in this repository are released under the GNU General Public License as found in the LICENSE file.

排名相邻
同类项目