pytorch之torch.nn.Conv1D()函数详解

本文详细介绍了 PyTorch 中 Conv1d 卷积层的使用方法及参数含义,包括输入输出尺寸计算、步长、填充、膨胀率等概念,并解释了不同 groups 设置下的行为变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方文档介绍

https://pytorch.org/docs/master/nn.html#convolution-layers

pytorch 中文文档:

https://pytorch-cn.readthedocs.io/zh/latest/

当然,在pycharm中查找某个函数的具体结构时也可以ctrl+click
 

CONV1D

https://pytorch.org/docs/master/generated/torch.nn.Conv1d.html#torch.nn.Conv1d

在由多个输入平面组成的输入信号上应用一维卷积。

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

在最简单的情况下,具有输入大小的图层的输出值  和输出  可以精确地描述为: 

    • ⋆ 是有效的互相关运算符, N是一个批处理大小,C表示多个通道, L 是信号序列的长度。该模块支持TensorFloat32

    • stride 控制互相关的步幅,单个数字或一个元素的元组。

    • padding控制padding点数两侧的隐式填充量。

    • dilation控制内核点之间的间距;也称为àtrous算法。很难描述,但是此链接 对操作做了很好的可视化dilation

    • groups控制输入​​和输出之间的连接。 in_channels并且out_channels必须都可以被整除 groups。例如,

    • groups= 1时,所有输入都卷积为所有输出。

    • 在groups = 2时,该操作等效于并排设置两个conv层,每个conv层看到一半的输入通道并产生一半的输出通道,并且随后都将它们级联。

    • 在groups =in_channels,每个输入通道都与自己的一组过滤器(​ ).

当groups = in_channels和out_channels == K * in_channels时,其中K为正整数,此操作也称为“深度卷积”。

换句话说,对于大小的输入  ,可以使用参数执行 深度乘数K的深度卷积

在某些情况下,当在CUDA设备上使用张量时,此运算符可能会选择不确定的算法来提高性能。如果不希望这样做,可以尝试通过设置确定操作(可能以性能为代价)。torch.backends.cudnn.deterministic = True

https://pytorch.org/docs/master/notes/randomness.html

重现性

在PyTorch发行版,单独的提交或不同的平台上,不能保证完全可重复的结果。此外,即使使用相同的种子,结果在CPU和GPU执行之间也可能无法重现。

但是,您可以采取一些步骤来限制特定平台,设备和PyTorch版本的不确定行为的来源。首先,您可以控制可能导致应用程序的多个执行行为不同的随机性源。其次,您可以配置PyTorch以避免对某些操作使用不确定的算法,这样,在给定相同输入的情况下,对这些操作的多次调用将产生相同的结果。

警告

确定性操作通常比非确定性操作慢,因此对于您的模型,单次运行性能可能会降低。但是,确定性可以通过促进实验,调试和回归测试来节省开发时间。

参数

  • in_channelsint)–输入图像中的通道数

  • out_channelsint)–卷积产生的通道数

  • kernel_sizeinttuple)–卷积内核的大小

  • 步幅inttuple可选)–卷积的步幅。默认值:1

  • paddinginttuple可选)–将零填充添加到输入的两侧。默认值:0

  • padding_mode字符串可选) 默认:'zeros''reflect''replicate''circular''zeros'

  • 膨胀inttuple可选)–内核元素之间的间距。默认值:1

  • int可选)–从输入通道到输出通道的阻塞连接数。默认值:1

  • 偏差bool可选)–如果为True,则向输出添加可学习的偏差。默认:True

N是一个批处理大小,C表示多个通道, L 是信号序列的长度

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值