**
torch.nn模块包含torch已经准备好的卷积层、归一化层、池化层、激活函数层、全连接层。
4.1卷积层
4.1.1卷积核使用操作:
二维卷积运算过程示意图如下图所示:
相信大家和我一样可能道理我们都懂但是一遇到代码就蒙圈,那我们接下来就来看看如何使用torch.nn模块进行卷积操作。
附上一张常用卷积操作对应类的命名
相关代码展示:
#承接上图以2x2卷积操作为例,其调用方式为:
torch.nn.conv2d(in_channels=3, #(整数)输入图像的通道数
out_channels=4, #(整数)经过卷积后,输出特征映射的数量
kernel_size=2, #(整数或数组)卷积核大小
stride=1, #(整数或数组,正数)步长,默认为1
padding=0, #(整数或数组,正数)填充,默认为0
dilation=1, #(整数或数组,正数)卷积核之间的步幅,默认为1
groups=1, #(整数,正数)从输入通道到输出通道的阻塞连接数
bias=True) #(布尔数,正数)偏置bias,当bias=True时为添加偏置,默认为True
4.2.2 channels:
不知道大家在学习的时候有没有遇到和我一样的困扰。什么是channels呢?又如何确定输入的channels、卷积核的channels、输出的channels?
有很多博主都给出了下面的等式:
CNN的卷积核通道数 = 卷积输入层的通道数
CNN的卷积输出层通道数(深度)= 卷积核的个数
根据我自己的理解绘制了下图,希望对你们理解有利~
随后学习笔记我会继续跟进学习 归一化层BN2d、池化层pooling、激活函数层relu、全连接层fc!更会虚心接受大家的评判指正!