BSD 3-Clause "New" or "Revised" License

项目介绍

Xilinx/ResNet50-PYNQ 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,采用 BSD 3-Clause "New" or "Revised" License 许可证,目前获得 62 个 Star、16 次 Fork。

仓库全名
Xilinx/ResNet50-PYNQ
开源许可证
BSD 3-Clause "New" or "Revised" License
Star 数
62
Fork 数
16
未关闭 Issue
1

README 摘要

🚫 This repository has been archived. For up-to-date ResNet50 dataflow FPGA acceleration, please see FINN Examples. Quantized ResNet50 Dataflow Acceleration on Alveo This repository contains an implementations of a binary ResNet50 FINN-style dataflow accelerator targeting Alveo boards. It is intended as a showcase of achievable throughput and latency for ImageNet clasiffication on FPGA, using dataflow execution and…

完整内容见 GitHub 原始 README 或本页 。

常见问题

ResNet50-PYNQ 用什么语言开发?

主要使用 C++ 编写,采用 BSD 3-Clause "New" or "Revised" License 许可证,目前有 62 个 Star。

ResNet50-PYNQ 可以免费商用吗?

仓库采用 BSD 3-Clause "New" or "Revised" License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 ResNet50-PYNQ 的源码?

可以直接克隆仓库:git clone https://github.com/Xilinx/ResNet50-PYNQ.git;安装与运行步骤见仓库 README。

ResNet50-PYNQ 最近还在维护吗?

仓库最近一次更新为 2021年11月23日,当前有 1 个未关闭 Issue;Star 数为 62,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Quantized ResNet50 Dataflow Acceleration on Alveo, with PYNQ

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
156
价值分
48
活跃状态
归档

语言占比

C
C++
Jupyter Notebook
Makefile
Python
Tcl

README

🚫 This repository has been archived. For up-to-date ResNet50 dataflow FPGA acceleration, please see FINN Examples.

Quantized ResNet50 Dataflow Acceleration on Alveo

This repository contains an implementations of a binary ResNet50 FINN-style dataflow accelerator targeting Alveo boards. It is intended as a showcase of achievable throughput and latency for ImageNet clasiffication on FPGA, using dataflow execution and on-chip weight storage.

Repo organization

The repository is organized as follows:

  • src: contains source code and submodules
    • hls: HLS custom building blocks and submodules to FINN librares (FINN and FINN-HLSLib)
    • w1a2-v1.0: pre-build weights, thresholds, directives and configuration files for Binary ResNet50
  • compile: contains scripts for accelerator compilation (Vivado HLS CSynth + Vivado Synthesis)
  • link: contains scripts for accelerator linking into the Alveo platform with Vitis
  • host: python and Jupyter host code, using PYNQ for Alveo

Building the Accelerator

The Accelerator is built using Vitis 2019.2. We recommend using this version, otherwise changes might be required to source and/or Makefiles for things to work.

To build the accelerator, clone the repository (using --recursive to pull submodules), after which:

cd ResNet50-PYNQ/compile
make NET=w1a2_v1.0
cd ../link
make

See the specific Compile and Link documentation for further info.

Running the Demo

After you have built the accelerator, you can install the required files in the host folder. Move in the cloned repo and do make install

cd ResNet50-PYNQ
make install

You can then run the included Jupyter notebook or the Python multithreaded inference example. If you want to use the distributed PYNQ python package, please read below. If you want to run example Python inference code, please see the host code documentation.

PYNQ quick start

Install the resnet50-pynq package using pip:

pip install resnet50-pynq

After the package is installed, to get your own copy of the available notebooks run:

pynq get-notebooks ResNet50

You can then try things out by doing:

cd pynq-notebooks
jupyter notebook

There are a number of additional options for the pynq get-notebooks command, you can list them by typing

pynq get-notebooks --help

You can also refer to the official PYNQ documentation for more information regarding the PYNQ Command Line Interface and in particular the get-notebooks command.

Supported Boards/Shells

Currently, we distribute the overlay only for the following Alveo boards and shells:

Shell Board
xilinx_u250_xdma_201830_2 Xilinx Alveo U250

Designs are built using Vitis 2019.2.

Author

Lucian Petrica @ Xilinx Research Labs.

评论

暂无评论