二维卷积层常用来处理图像数据,它具有两个空间维度(高和宽)。 1.1 二维互相关运算 1.1.1 原理分析 在二维互相关运算中, 卷积窗口从左上角开始,每次向右滑动一列,直至到达最右边,然后回到最左边的列并向下滑动一行,继续重复上面的动作,直至到达右下角。当卷积窗口滑动到某一位置时,窗口中的输入子数组与卷积窗口...
1、二维互相关运算 在二维卷积层中,一个二维输入数组和一个二维核数组通过互相关运算输出一个二维数组;核数组在卷积运算中又称卷积核、过滤器、卷积窗口;输出形状取决于卷积核和输入的形状 如,二维输入数组(3X3)与二维核数组(2X2)互相关运算,产生结果是一个二维数组(2X2),卷积核按照从左往右,从上往下的顺序依次...
虽然卷积层得名于卷积(\(convolution\))运算,但通常在卷积层中使用更加直观的互相关(\(cross-correlation\))运算。 如图\(5.1\),一个二维输入数组、卷积核或过滤器(\(filter\))通过互相关运算输出一个二维数组。 卷积窗口从左往右,从上往下,依次在输入数组上滑动。 \[0×0+1×1+3×2+4×3=19, \\ 1...
(二)二维卷积层(Conv2D) 过程是将输入数组和卷积核进行互相关运算,再加上一个标量偏差来得到输出。 class Conv2D(nn.Block): #定义二维卷积层 def __init__(self, kernel_size, **kwargs): super(Conv2D, self).__init__(**kwargs) self.weight = self.params.get('weight', shape=kernel_size) ...
# 构造一个二维卷积层,它具有1个输出通道和形状为(1,2)的卷积核 # 第一个1是输入通道,第二个1是输出通道 conv2d = nn.Conv2d(1, 1, kernel_size=(1, 2), bias=False) print(conv2d) print(conv2d.weight) print(conv2d.bias) # 这个二维卷积层使用四维输入和输出格式(批量大小、通道、高度、宽度...
在二维卷积层中,一个二维输入数组和一个二维核(kernel)数组通过互相关运算输出一个二维数组。 我们用一个具体例子来解释二维互相关运算的含义。如下图所示,输入是一个高和宽均为3的二维数组。我们将该数组的形状记为3× 3 3 \times 33×3或(3,3)。核数组的高和宽分别为2。该数组在卷积计算中又称卷积核...
在二维卷积层中,一个二维输⼊数组和一个二维核(kernel)数组通过互相关运算输出一个二维数组。如下图所示:输入是一个高和宽均为 3 的二维数组,我们将该数组的形状记为 3X3 或(3,3)。核数组的高和宽分别为 2,该数组在卷积计算中又称卷积核或过滤器(filter),卷积核窗口(又称卷积窗口)的形状取决于...
二维卷积层公式二维卷积层的公式可以表示为: Hout × Wout = K × K × Cin × Cout 其中,Hout和Wout是输出特征图的像素数目,K是卷积核的宽度和长度,Cin是输入通道数,Cout是卷积核的数目,也就是输出的维度。 此外,在二维互相关运算中,卷积窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在...
本实验实现了二维卷积神经网络的卷积层设置步长、填充、输入输出通道等功能。 二、实验环境 本系列实验使用了PyTorch深度学习框架,相关操作如下: 1. 配置虚拟环境 代码语言:javascript 复制 conda create-nDLpython=3.7 代码语言:javascript 复制 conda activateDL ...
自定义二维卷积层 class conv2d(nn.Module): def __init(self, kernel_size): super(conv2d, self).__init__() self.weight = nn.Parameter(torch.randn(kernel_size)) self.bias = nn.Parameter(torch.randn(1)) def forward(self, x): return corr2d(x, self.weight) + self.bias 这里我们使用...