区块链网站开发资金,网站建设公司招人,免费搭建个人网站,公司年会宣传软文1#xff1a;单通道卷积
以单通道卷积为例#xff0c;输入为#xff08;1,5,5#xff09;#xff0c;分别表示1个通道#xff0c;宽为5#xff0c;高为5。假设卷积核大小为3x3#xff0c;padding0#xff0c;stride1。
卷积过程如下#xff1a;
相应的卷积核不断…1单通道卷积
以单通道卷积为例输入为1,5,5分别表示1个通道宽为5高为5。假设卷积核大小为3x3padding0stride1。
卷积过程如下
相应的卷积核不断的在图像上进行遍历最后得到3x3的卷积结果结果如下 2多通道卷积1
以彩色图像为例包含三个通道分别表示RGB三原色的像素值输入为3,5,5分别表示3个通道每个通道的宽为5高为5。假设卷积核只有1个卷积核通道为3每个通道的卷积核大小仍为3x3padding0stride1。
卷积过程如下每一个通道的像素值与对应的卷积核通道的数值进行卷积因此每一个通道会对应一个输出卷积结果三个卷积结果对应位置累加求和得到最终的卷积结果**这里卷积输出结果通道只有1个因为卷积核只有1个。卷积多输出通道下面会继续讲到**。
可以这么理解最终得到的卷积结果是原始图像各个通道上的综合信息结果。 上述过程中每一个卷积核的通道数量必须要求与输入通道数量一致因为要对每一个通道的像素值要进行卷积运算所以每一个卷积核的通道数量必须要与输入通道数量保持一致。
我们把上述图像通道如果放在一块计算原理过程还是与上面一样堆叠后的表示如下
3多通道卷积2
在上面的多通道卷积1中输出的卷积结果只有1个通道把整个卷积的整个过程抽象表示过程如下 即由于只有一个卷积核因此卷积后只输出单通道的卷积结果黄色的块状部分表示一个卷积核黄色块状是由三个通道堆叠在一起表示的每一个黄色通道与输入卷积通道分别进行卷积也就是channel数量要保持一致图片组这里只是堆叠放在一起表示而已。
那么如果要卷积后也输出多通道增加卷积核filers的数量即可示意图如下 备注上面的feature map的颜色只是为了表示不同的卷积核对应的输出通道结果不是表示对应的输出颜色。
然后将每个卷积核对应的输出通道结果feature map进行拼接图中共有m个卷积核则输出大小变为mw’h’其中w’、h’表示卷积后的通道尺寸原始输入大小为nwh。
因此整个卷积层的尺寸为mnk1*k2是一个4维张量其中m表示卷积核的数量n表示通道数量k1表示每一个卷积核通道的宽k2表示每一个卷积核通道的高。
4代码输出
以torch为例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)# 输出结果: torch.Size([1, 5, 100, 100])
print(input.shape)
# 输出结果: torch.Size([1, 10, 98, 98])
print(out_put.shape)
# 输出结果: torch.Size([10, 5, 3, 3])
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 可以看到与上面的公式m * n * k1 * k2一致。
总结
1输入通道个数 等于 卷积核通道个数
2卷积核个数 等于 输出通道个数