ZynqNet

ZynqNet解析(三)CPU端程序解析

ZynqNet能在xilinx的FPGA上实现deep compression的网络。目的:读懂ZynqNetCPU端的代码。

ZynqNet解析(二)运行与调试

背景:ZynqNet能在xilinx的FPGA上实现deep compression

目的:运行zynqNet的代码。

源码地址:https://github.com/dgschwend/zynqnet

项目程序架构,针对我们的项目,我们需要看懂相应的HLS程序和ARM端的程序。

ARM端的程序以_FIRMWARE为准;FPGA端程序以HLS为准。

1. _TRAINED_MODEL
这部分为训练好的caffe模型与预训练的权重。

2. _FIRMWARE
这部分程序针对Zynq 7Z035 ARM processor。make之后是在服务器上运行的,一次迭代需要将近3590ms

make
./test CPU|FPGA indata.bin (-quiet)

ZynqNet解析(一)概览

背景:ZynqNet能在xilinx的FPGA上实现deep compression。

目的:读懂zynqNet的代码和论文。

一、网络所需的运算与存储

1.1 运算操作:

  • macc:multiply-accumulation,
  • comp:comparison
  • add: addition/substraction
  • div:  division
  • exp:  expontential
  • 1.2 Memory requirements:

  • activation:  size of output feature maps
  • param:  number of weight parameters
  • 1.3 需求分析: