FPGA进行AI推理方案
近期在研究FPGA进行推理时,总结了一下三种方案,目前我了解使用FPGA进行推理还是少数,不知道大家有没有做过使用FPGA进行推理的项目,欢迎交流。
1 Zynq + Paddle lite
第一种方案使用Zynq+Paddlelite。Paddle-Lite 框架是 PaddleMobile 新一代架构,重点支持移动端推理预测,特点高性能、多硬件、轻量级 。支持PaddleFluid/TensorFlow/Caffe/ONNX模型的推理部署。目前已经支持 ARM CPU, Mali GPU, Adreno GPU, Huawei NPU 等多种硬件。
官方有三款Edgeboard开发板,包括FZU3、FZU5和FZU9。都是基于XilinxZynq UltraScale+ MPSoC系列fpga开发平台,根据期间型号不同,开发板分为三种。Edgeboard百度完成FPGA逻辑设计,驱动设计并封装底层的功能,封装深度学习相关内容,开发主要针对软件开发用户,fpga部分原理图对外,不提供代码,后续会以付费ip形式提供。开发板自带程序可以实现图像分类和目标检测任务。FZU3大约1000元左右,FZU5带视频编解码VCU3600多,价格比通常开发板要便宜很多,但是接口较少,没有相关的教程。
2 Zynq + DPU
第二种方案使用Zynq+DPU。Xilinx®深度学习处理器单元 (DPU) 是一个专门用于卷积神经网络的可编程引擎。该单元包含寄存器配置模块、数据控制器模块和卷积计算模块。为 DPU 提供了一个专用指令集,其可帮助 DPU 高效服务于许多卷积神经网络。在 DPU 中部署的卷积神经网络包括 VGG、ResNet、GoogLeNet、YOLO、SSD、MobileNet等。</