Vivado HLS实现卷积和池化操作

本文详细介绍了卷积和池化在卷积神经网络中的作用,以及如何在VivadoHLS中使用C++语言实现这两种操作,涉及参数配置、窗口移动、填充策略和池化类型(最大、最小、平均)。

卷积与池化是卷积神经网络(CNN)中两个最重要的操作,本文主要讲述如何在Vivdao HLS中利用C++实现卷积和池化。

一、什么是卷积操作

对于卷积神经网络,卷积的主要目的是提取输入图像的特征。卷积操作(Convolution)其实并不复杂,它就是卷积核(Filter)在图片(Image)从左到右、从上到下进行滑动得到特征图(Convolved Feature)的过程。假设现在有一个单通道的原始图片和一个卷积核(图1),卷积过程如图2所示。

            

                                  图1                                                          图2 

卷积核的通道个数核被卷积图片的通道数相同。当输入的是一个单通道的灰度图时,卷积核的通道个数是一个。当输入的是一个RGB三通道的彩色图片时,卷积核的通道个数是三个。不同的卷积核对应着不同的效果,比如说边缘检测、平滑滤波、锐化模糊等。

                          图3

 一张原始图片可能会得到多个特征图,这取决于卷积核的个数。如图4所示,这里有四个卷积核,得到的特征图也是四个。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值