当前位置: 代码迷 >> 综合 >> torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, b
  详细解决方案

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, b

热度:39   发布时间:2023-11-21 11:31:20.0

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode=‘zeros’)

卷积核与原图按照左上角对齐的原则进行卷积操作

stride:步幅,卷积核两次卷积左上角点之间的距离;通俗讲就是卷积核每隔几个像素进行一次卷积操作;stride默认值为1,可以以一个整数的形式或者元组的形式给出,以一个整数给出的时候,默认高和宽上的stride相同,以一个元组给出时,高宽的stride可以设置为不同值;

padding:=0时,不填充,原图与卷积核进行卷积;=1时,在原图四边填充一行(一列),具体填充的数据由padding_mode控制,一般填0)

dilation:默认值为1,扩充卷积;指的是卷积核元素之间的距离,默认为1时,卷积前后图片尺寸计算公式:

在这里插入图片描述
代入就是平常常用的
O=(I+2p-f)/s+1

groups:默认为1,从输入通道到输出通道的连接块数,对输入输出通道进行分组,分为groups组,=2时,一次卷积操作的效果相当于两层卷积层并排在一起,每一层负责输入通道的一半,负责输出通道的一半,然后将两部分输出concatenate到一起;=in_channels,就是所谓的逐通道卷积(depthwise convolution)每个通道的卷积核数为输出通道数与输入通道数的比。在这里插入图片描述

bias:偏差,会在网络训练后向传播过程中,给输出加上一个学得的偏差,默认为true