这是一篇解释的文章,主要是填补我在HLS的Conv和Pool部分时的一个坑!
首先,感谢一波ESELAB蓝同学,不断被询问下,我也理解了之前的这个点。原创好文。
1、首先,回顾下卷积中的一些概念。
在卷积的过程中,输入特征用feature_in表示,不分块的话,是一个三维的数据,即feature_in的长W、宽H和张数C。卷积核用kernel表示,不分块的话,是一个四维的数据,即kernel的长Kx、宽Ky、一个channel上的相同卷积核的数目K和不同卷积核的数目CHout。用下面的图片表示。

除了feature_in和kernel的维度定义外,还需要明白channel的概念,对于feature_in的channel数目,就是feature_in的张数,即C的大小。对于kernel的channel数目,就是不同的卷积核数目,即CHout的值。feature_in的一个channel上只有一张feature_in,但kernel的一个channel上可以有很多个kernel,以此来提取多张图的同一个特征。总体而言,多张feature_in与一个kernel进行卷积,其实就是把feature_in的多个channel输入到卷积核的一个channel中,最终运算得到一张feature map。至于多张feature_in最后为啥得到的是一张feature map,可以看下面的过程。

最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



