理论知识插眼:深度学习TF—7.卷积神经网络CNN
前面,我们学习了如何搭建模型,以及在模型搭建过程中用到的容器。这一节,我们介绍网络层的具体使用。
下面介绍几个概念:
1d conv:
2d conv:
3d conv:
上述都是一个卷积核在一个信号上的卷积。如果涉及多个卷积核多个信号的操作,那么应该怎么判断卷积的维度?下面我们以一个三维卷积核实现二维卷积为例
每个卷积核分别在各自的通道进行卷积操作得到输出值,然后相加再加上偏置才会得到特征图的一个像素值。一个卷积核只在一个二维图像上进行滑动,所以这是二维卷积。为什么它是三维卷积核?正是因为它有多个通道,在多个通道上分别进行卷积。
nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode= ' zeros ' )
功能:对多个二维信号进行二维卷积
主要参数:
尺寸计算公式为:
nn.ConvTranspose2d
是转置卷积。转置卷积用于对图像进行上采样(UpSample),经常用于图像分割任务。那么,什么是转置卷积?它与正常卷积有什么区别?
如图是正常2d卷积
假设图像尺寸为
4
∗
4
4*4
4∗4,卷积核为
3
∗
3
3*3
3∗3,padding=0,stride=1
图像: