nn.Conv2d()参数详解
偏置的作用是引入模型的偏移能力,它可以在每个通道上添加一个常量值,从而提供了模型的灵活性和表达能力。二者的卷积核大小都是一样的(滑窗的实际大小是一样的),但空洞卷积的滑窗(kernel)元素之间是存在一些间隙的,这些间隙在空洞卷积中成为膨胀因子(dilated ratio)。代表填充内容,可选项有4种:'zeros', 'reflect','replicate' or 'circular',其默认
Pytorch中nn.Conv2d()包含9个参数,分别是:
in_channels(int): Number of channels in the input image
out_channels (int): Number of channels produced by the convolution
kernel_size(int or tuple): Size of the convolving kernel
stride (int or tuple, optional): stride of the convolution. Default: 1
padding (int or tuple, optional)Zero-padding added to both sides of the input, Default: 0
padding_mode(string,optional).Accepted values 'zeros' 'circular' 'reflect' and 'replicate' Default:'zeros'
dilation (int or tuple, optional): Spacing between kernel elements. Default: 1
groups (int, optional): Number of blocked connections from input channels to output channels, Default:1
bias(bool, optional): If "True", adds a learnable bias to the output. Default: "True"
前四个参数就是输入通道数输出通道数,卷积核尺寸和步长,只需要知道输入通道数大小等于卷积核通道数大小,输出通道数大小等于卷积核个数即可
padding参数
代表填充形状,输入张量的填充大小。可以是一个整数,表示在输入的高度和宽度的周围添加的零填充的像素数,或者是一个元组 (h, w)
,表示在高度和宽度方向上的填充数。默认0填充,就是不填充
padding_mode参数
代表填充内容,可选项有4种:'zeros', 'reflect','replicate' or 'circular',其默认选项为'zeros'
原始图像为
'zeros'即零填充
'reflect'以图像边框为轴做镜像
‘replicate’将矩阵的边缘复制并填充到矩阵的外围。
'circular'就是循环填充再截取
原理
dilation参数
是否采用空洞卷积,这里输入的参数就是膨胀因子的大小
不使用空洞卷积
kernel_size=3, stride=1, padding=0
使用空洞卷积
kernel_size = 3, dilated_ratio = 2, stride = 1, padding = 0
二者的卷积核大小都是一样的(滑窗的实际大小是一样的),但空洞卷积的滑窗(kernel)元素之间是存在一些间隙的,这些间隙在空洞卷积中成为膨胀因子(dilated ratio)。如果 dilated ratio=1
时,空洞卷积就是普通卷积。
为什么要使用空洞卷积?
空洞卷积(膨胀卷积)的相关知识以及使用建议(HDC原则)-CSDN博客
groups参数
是否使用群卷积,是早期计算资源不够使的一种方法,首次出现于Alexnet
详见卷积神经网络group群卷积以及group lasso-CSDN博客
bias参数
卷积是否带偏置,默认为“True”
在卷积神经网络中,卷积层通常使用带有偏置的卷积操作。偏置是一个可学习的参数,它对应于每个输出通道,并且在卷积操作后与输出特征图相加。
偏置的作用是引入模型的偏移能力,它可以在每个通道上添加一个常量值,从而提供了模型的灵活性和表达能力。偏置可以帮助模型更好地拟合数据,特别是当数据的平均值与零偏差之间存在偏移时。例如,对于图像分类任务,不同类别的图像可能具有不同的平均亮度,通过使用偏置可以更好地适应这些差异。
为什么要把偏置去除?【PyTorch细节】卷积后的bias什么时候加,什么时候不加_卷积的bias-CSDN博客
参考资料
PyTorch Conv2d中的四种填充模式解析 - 简书 (jianshu.com)
空洞卷积(膨胀卷积)的相关知识以及使用建议(HDC原则)-CSDN博客
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)