FINN(二)框架快速入门指南

FINN

  • 一、FINN
  • 二、快速开始
  • 三、BLOG
  • 四、EVENTS
    • FINN tutorial at FPGA'21
  • 五、EXAMPLES
  • 六、Brevitas
  • 七、FINN-HLSLIB
  • 八、文献参考
  • 九、COMMUNITIES
  • 十、文档说明

一、FINN

FINN(二)框架快速入门指南_第1张图片

FINN:是Xilinx研究实验室的一个实验框架,用于探索FPGA的深层神经网络推理。它专门针对量化的神经网络,重点是为每个网络生成定制的数据流风格的体系结构。它不打算像Vitis AI那样成为一个通用的DNN加速器产品,而是一个探索FPGA上DNN推理加速器设计空间的工具。

二、快速开始

  • 我想在我的FPGA板上试用已建的QNN加速器: 请看finn示例,试用一些用finn编译器构建的FPGA加速器。我们在BNN-PYNQ和LSTM-PYNQ repos中有更多的示例,尽管它们不是用FINN编译器构建的。
  • 我想为FINN训练新的量化网络: 看看Brevitas,我们的Pytorch库的量化意识培训。
  • 我想了解量子化推理所涉及的计算: 看看这些关于QNN推理的Jupyter笔记本。这个repo包含简单的numpython层实现和一些预先训练好的qnn,用于指导目的。
  • 我想知道这一切是如何结合在一起的: 看看我们的publications,特别是17年在FPGA上的FINN论文和ACM TRETS上的FINN-R论文。

三、BLOG

-FINN v0.5b (beta) and finn-examples released
2020.12.17:FINN v0.5b现在可以在GitHub上使用。这是迄今为止进行的功能最丰富的更新之一,以下是亮点:

  • 新芬兰人的例子回购PYNQ对Zynq和Alveo(数据中心加速卡):我们现在有一个新的repo叫做finn examples,它托管了几个用finn编译器构建的神经网络加速器。它附带了几个平台的预构建位文件和pynqpython驱动程序。它也在pypi上,所以只需在你的板上“pip3 install finn-examples”就可以了。
  • 用于Alveo U250的4位MobileNet-v1: 作为finn示例的一部分,我们正在ImageNet上发布MobileNet-v1的流数据流加速器。它使用4位权重和激活(第一层是8位),在ImageNet-1K上获得70.4%的top-1精度,在Alveo U250上以1800 FPS的速度运行。您可以使用finn示例中提供的脚本从源代码重建它。
  • 新教程:培训和部署网络安全MLP :v0.5b增加了一个新的三部分教程Jupyter,首先用Brevitas训练一个量化的MLP,然后用下面讨论的新构建的数据流系统部署它。这里,示例应用程序通过在UNSW-NB15网络安全数据集上训练MLP来将网络包分类为恶意或非恶意。
  • 新建系统: 为了提高效率和易用性,引入了一个新的构建系统和名为build_dataflow 的命令行入口点。使用这个新系统,您可以分析和编译基本的QNNs,而不必设置手动的图形转换序列。为了控制生成的加速器性能,您可以简单地设置一个target_fps和一个目标时钟频率,并让FINN计算出并行化参数和所需的FIFO大小,或者您可以手动设置它们以进行手动优化设计。finn-examples和新的网络安全教程都使用这个新的构建系统。
  • 其他改进: 这些都是亮点,但是v0.5b中包含了许多其他新特性和错误修复。其中一些较大的特性包括对运行时可写权重的初步支持、自动FIFO大小调整、用于设置并行化参数的SetFolding转换,将FINN编译器的核心组件分离成一个新的repo,称为FINN base,以实现更多的模块化。

四、EVENTS

FINN tutorial at FPGA’21

作为FPGA’21会议的一部分,我们将提供两小时的FINN教程。详情如下:

  • 日期:2021.2.28(星期日)
  • 时间:太平洋标准时间(PST)上午10:30–下午1:30
  • 形式:虚拟活动、Zoom呼叫和动手Jupyter笔记本实验室。Zoom和Jupyter链接将通过电子邮件发送给确认的参与者
  • 注册:FPGA’21会议注册:https://www.isfpga.org/registration;重要提示:除了会议登记表外,您还必须填写此表;实际操作部分仅限50人参加。

五、EXAMPLES

Dataflow Accelerator Examples for PYNQ on Zynq and Alveo
此存储库包含使用FINN编译器构建的各种定制FPGA神经网络加速器示例,这些示例以少量位量化的神经网络为目标,重点是生成为每个网络定制的数据流样式体系结构。

这里的示例附带了预构建的位文件、pynqpython驱动程序和Jupyter笔记本,您可以从源代码重建它们。Zynq上的PYNQ和Alveo都受支持。

  • 快速开始
    首先,确保pip和setuptools安装在PYNQ板或Alveo服务器上是最新的:
python3 -m pip install --upgrade pip setuptools

使用pip安装finn-examples包:

# remove previous versions with: pip3 uninstall finn-examples
pip3 install finn-examples
# to install particular git branch:
# pip3 install git+https://github.com/Xilinx/finn-examples.git@dev

使用PYNQ get notebooks命令检索示例Jupyter笔记本:

# on PYNQ boards, first cd /home/xilinx/jupyter_notebooks
pynq get-notebooks --from-package finn-examples -p .

现在,您可以浏览提供的Jupyter笔记本示例,或者只使用提供的加速器作为您自己的Python程序的一部分:

from finn_examples import models
import numpy as np

# instantiate the accelerator
accel = models.cnv_w2a2_cifar10()
# generate an empty numpy array to use as input
dummy_in = np.empty(accel.ishape_normal, dtype=np.uint8)
# perform inference and get output
dummy_out = accel.execute(dummy_in)
  • 神经网络加速器示例
Dataset Topology Quantization Supported boards
CIFAR-10 CNV (VGG-11-like) several variants:1/2-bit weights/activations all
MNIST 3-layer fully-connected several variants:1/2-bit weights/activations all
ImageNet MobileNet-v1 4-bit weights and activations 8-bit first layer weights Alveo U250
  • 支持的板
    请注意:较大的NNs仅在Alveo板上可用。
    finn-examples为以下板提供了预构建的FPGA位文件:
    -边缘:Pynq-Z1、Pynq-Z2、Ultra96和ZCU104
    -数据中心:Alveo U250

可以为所提供的示例生成Vivado IP,以针对任何具有足够大小的现代Xilinx FPGA。在这种情况下,您必须使用Vivado IPI手动将生成的IP集成到您的设计中。你可以在这里 https://github.com/Xilinx/finn-examples/blob/main/build/README.md 了解更多。

六、Brevitas

Brevitas是一个用于量化感知训练(QAT)的Pytorch库。
WEBSITE: https://github.com/Xilinx/brevitas
布雷维塔斯目前正在积极开发中。文档、测试、示例和预训练模型将逐步发布。

请注意,Brevitas是一个研究项目,而不是Xilinx的官方产品。

七、FINN-HLSLIB

网站:https://github.com/Xilinx/finn-hlslib
本repo包含使用FINN的量化神经网络(QNN)硬件加速的HLS库。
有关更多信息,请参阅此处提供的文档https://finn-hlslib.readthedocs.io/。

八、文献参考

link:
https://xilinx.github.io/finn/publications

九、COMMUNITIES

link:
https://gitter.im/xilinx-finn/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge

十、文档说明

link:
https://finn.readthedocs.io/en/latest/

你可能感兴趣的:(微电子,FINN,神经网络,fpga,深度学习,机器学习)