一、输入的四个维度
1)batch_size:说白了,就是图片的个数。
2)height/weight:图片的高和宽。
3)channels:图片的通道数,黑白照片就是1,RGB就是3。
例如我们的输入是X =【333,28,28,3】,则代表我们有333个宽和高都是28的黑白照片(单通道照片)。
二、卷积核的四个维度
1)height/weight:卷积核矩阵的维度
2)inchannels:与输入的通道数相等。如何理解这个参数的意思呢?这个参数代表的是我们所操作的图像的通道数。例如,我们有上例的X的通道数为3,那这个inchannels也是3。我们要做的是,将这个卷积核分别与图片A的三个通道卷积,相加作为输出。
3)outchannel:输出的特征数。这个参数是自己选定的。
现在假设我们X=【333,28,28,3】的输入,W=【5,5,3,32】。那么输出是什么呢?首先输出图片数不变,仍是333。其次,我们先假设图片大小也不变(后文会讨论)。我们的操作是,对于任意333张中的任意一张图片A,用32个卷积核去卷积,这样我们每张图片就会得到32个特征,那么得到的新图片的通道数就是32(对应前面的RGB的通道数是3)。因此我们的得到的输出是【333,28,28,32】(假设得到的图片大小不变).如下图所示。
每个卷积核的维度与输入的chanel数相同。
输出的维度,与卷积核的数量相同。
4)、步长的维度
步长的维度一般设置【1,a,a,1】。第一个和第四个分别代表跳过照片的数量和跳过维度的数量,因为我们要训练每一张照片和每一个维度,所以上述都设置为1(以上是我的猜测QAQ)。中间的则代表我们在照片长宽跳过的像素数。这里,网上有两个盛传的公式:
卷积:((W-F+2P)/S )+ 1
池化:(W-F)/S + 1.
例如池化矩阵的大小和步长都是2*2的。那么池化后的高:(28-2)/2 +1 = 14,宽:(28-2)/2 + 1 =14.
关于池化层和卷积层的参数问题就讲到这里。本文写的相当仓促,所以可能会有大量的漏洞和不足,望指正。
————————————————
版权声明:本文为CSDN博主「c-minus」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cpluss/article/details/81709998
网友评论