兰州网站推,军事新闻最新消息11,网站建设 阿里,湘潭网站建设电话磐石网络总结#xff1a;
1.输入通道个数 等于 卷积核通道个数
2.卷积核个数 等于 输出通道个数
1.单通道卷积
以单通道卷积为例#xff0c;输入为#xff08;1,5,5#xff09;#xff0c;分别表示1个通道#xff0c;宽为5#xff0c;高为5。假设卷积核大小为3x3#xff0c…总结
1.输入通道个数 等于 卷积核通道个数
2.卷积核个数 等于 输出通道个数
1.单通道卷积
以单通道卷积为例输入为1,5,5分别表示1个通道宽为5高为5。假设卷积核大小为3x3padding0stride1。 卷积过程如下 相应的卷积核不断的在图像上进行遍历最后得到3x3的卷积结果结果如下
2.多通道卷积输出结果通道为1的情况
以彩色图像为例包含三个通道分别表示RGB三原色的像素值输入为3,5,5分别表示3个通道每个通道的宽为5高为5。假设卷积核只有1个卷积核通道为3每个通道的卷积核大小仍为3x3padding0stride1。
卷积过程如下每一个通道的像素值与对应的卷积核通道的数值进行卷积因此每一个通道会对应一个输出卷积结果三个卷积结果对应位置累加求和得到最终的卷积结果这里卷积输出结果通道只有1个因为卷积核只有1个。卷积多输出通道下面会继续讲到。
可以这么理解最终得到的卷积结果是原始图像各个通道上的综合信息结果。 上述过程中每一个卷积核的通道数量必须要求与输入通道数量一致因为要对每一个通道的像素值要进行卷积运算所以每一个卷积核的通道数量必须要与输入通道数量保持一致
我们把上述图像通道如果放在一块计算原理过程还是与上面一样堆叠后的表示如下
3.多通道卷积输出结果通道为m的情况
在上面的多通道卷积1中输出的卷积结果只有1个通道把整个卷积的整个过程抽象表示过程如下 即由于只有一个卷积核因此卷积后只输出单通道的卷积结果黄色的块状部分表示一个卷积核黄色块状是由三个通道堆叠在一起表示的每一个黄色通道与输入卷积通道分别进行卷积也就是channel数量要保持一致图片组这里只是堆叠放在一起表示而已。
那么如果要卷积后也输出多通道增加卷积核filers的数量即可示意图如下
4.代码
以Pytorch为例nn.Conv2d(in_channelsout_channelskernel_sizestride1padding0dilation1groups1biasTrue)。
参数解释如下
in_channels输入维度
out_channels输出维度
kernel_size卷积核大小可以理解为对每个通道上的卷积的尺寸大小
stride步长大小
padding补0
dilationkernel间距
import torchin_channels 5 #输入通道数量
out_channels 10 #输出通道数量
width 100 #每个输入通道上的卷积尺寸的宽
heigth 100 #每个输入通道上的卷积尺寸的高
kernel_size 3 #每个输入通道上的卷积尺寸
batch_size 1 #批数量input torch.randn(batch_size,in_channels,width,heigth)
conv_layer torch.nn.Conv2d(in_channels,out_channels,kernel_sizekernel_size)out_put conv_layer(input)print(input.shape)
print(out_put.shape)
print(conv_layer.weight.shape) 结果解释 1输入的张量信息为[1,5,100,100]分别表示batch_sizein_channelswidthheight
2输出的张量信息为[1,10,98,98]分别表示batch_sizeout_channelswidth’height’其中width’height’表示卷积后的每个通道的新尺寸大小
3conv_layer.weight.shape的输出结果为[10, 5, 3, 3]分表表示out_channelsin_channelskernel_size kernel_size 可以看到与上面的公式mnk1*k2一致。