</center>
<div id="post_detail">
<div class="block">
<h1 class="block_title">
</h1>
<div class="post">
<div class="postcontent">
先讲一下是怎么卷积的。一般输入的是RGB颜色空间的图片,即有三个通道。可以理解为这三个通道的每个对应的数值组合在一起表示了这一张图片。
卷积操作过程:(通道数变化的原理)
先从一张示意图说起,卷积基础概念和操作步骤就不啰嗦了,只讲这张图,大意就是,有in-channel,有out-channel,你需要把in-channel都做卷积操作,然后产出out-channel,所以这个w是要层层拆解,w分拆成w0和w1,以对应2个out-channel。w0分拆成3个矩阵w0[:,:,0]、w0[:,:,1]、w0[:,:,2],以对应3个in-channel,因为输入的3通道终究要合而为一的(进入一个核):y0=w0*x+b0、y1=w1*x+b1,所以w0只有一个b0对应,而不是三个。又因为卷积操作中,一个核要计算的目标是一个sum总值(绿图中的一个点),而不是9个值,所以3*3的矩阵只要对应1*1的b就够了。
经过卷积后的大小变化公式:
推导的公式:
out_size = (n - k + 2p)/s + 1
输入图片大小为n x n,卷积核kernel_size大小为k x k,步长stride为s,填充padding为p('same'为填充那么P就为1,否则就为0),得到输出特征图out_size大小
举个栗子:
用Darknet53的第一层来说:
layer filters size input output
0 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32
输入的是416X416,三通道的图片,输出为416x416, 32通道的特征图。有可能有人会问,卷积过后图片大小不是会变吗?对,正常卷积大小会变化,但是在这一层进行了用0对原图片进行了填充,卷积步长为1,最后卷积出来过后特征图的大小没有变,只是通道数变了。如果实在是懒的话,请直接食用公式。
<div id="blog_post_info">
<div class="clear"></div>
<div id="post_next_prev">
<a href="https://www.cnblogs.com/Mydream6/p/11463355.html" class="p_n_p_prefix">« </a> 上一篇: <a href="https://www.cnblogs.com/Mydream6/p/11463355.html" title="发布于 2019-09-05 10:29">训练神经网络调超参的总结</a>
<br>
<a href="https://www.cnblogs.com/Mydream6/p/11665112.html" class="p_n_p_prefix">» </a> 下一篇: <a href="https://www.cnblogs.com/Mydream6/p/11665112.html" title="发布于 2019-10-13 10:10">梯度爆炸</a>
【活动】腾讯云服务器推出云产品采购季 1核2G首年仅需99元
【推荐】精品问答:大数据计算技术 1000 问
【推荐】2019热门技术盛会400则演讲资料全收录
· 『计算机视觉』空洞卷积
· CNN中卷积层的计算细节
· 卷积神经网络物体检测之感受野大小计算
· Convolution Network及其变种(反卷积、扩展卷积、因果卷积、图卷积)
· CNN中的卷积核及TensorFlow中卷积的各种实现
» 更多推荐...