0、先验知识
首先,下图所采用得卷积操作,是对边界补0得情况下得到的,卷积的核心在于乘加操作,
关于卷积操作的计算量,可参考此篇文章进行学习
下图的计算量为:输入通道数x输出通道数x卷积核大小x输出图像的长x输出图像的宽
即:RCKKCHout*CHin
1、设置流程
在综合前,需要先进行以下流程的设置
project——》project setting——》synthesis——》Top Function
选择对应的函数
C synthesis
2、卷积的软件实现
优化前的solution1
#define CHin 4
#define CHout 4
#define R 14
#define C 14
#define Rin 16
#define Cin 16
#define K 3
void test()
{
float In[CHin][Rin][Cin];
float Out[CHout][R][C];
//weight array
float W[CHout][CHin][K][K];
Output_Channel:
for(int cho=0;cho<CHout;cho++)
{
Input_Channel:
for(int chi=0;chi<CHin;chi++)
{
Row:
for