speechbrain.nnet.pooling 模块
实现池化的库。
- 作者
Titouan Parcollet 2020
Mirco Ravanelli 2020
Nauman Dawalatabad 2020
Jianyuan Zhong 2020
Sarthak Yadav 2022
Ha Nguyen 2023
摘要
类
这个类实现了自适应平均池化。 |
|
这个函数实现了自注意力池化 (https://arxiv.org/abs/2008.01077)。 |
|
这个类实现了一个可学习的高斯低通池化,来自 |
|
这个函数实现了输入张量的 1d 池化。 |
|
这个函数实现了输入张量的 2d 池化。 |
|
这个类实现了一个统计池化层。 |
参考
- class speechbrain.nnet.pooling.Pooling1d(pool_type, kernel_size, input_dims=3, pool_axis=1, ceil_mode=False, padding=0, dilation=1, stride=None)[source]
基类:
Module
这个函数实现了输入张量的 1d 池化。
- 参数:
示例
>>> pool = Pooling1d('max',3) >>> inputs = torch.rand(10, 12, 40) >>> output=pool(inputs) >>> output.shape torch.Size([10, 4, 40])
- class speechbrain.nnet.pooling.Pooling2d(pool_type, kernel_size, pool_axis=(1, 2), ceil_mode=False, padding=0, dilation=1, stride=None)[source]
基类:
Module
这个函数实现了输入张量的 2d 池化。
- 参数:
示例
>>> pool = Pooling2d('max',(5,3)) >>> inputs = torch.rand(10, 15, 12) >>> output=pool(inputs) >>> output.shape torch.Size([10, 3, 4])
- class speechbrain.nnet.pooling.StatisticsPooling(return_mean=True, return_std=True)[source]
基类:
Module
这个类实现了一个统计池化层。
返回输入张量的均值和/或标准差。
示例
>>> inp_tensor = torch.rand([5, 100, 50]) >>> sp_layer = StatisticsPooling() >>> out_tensor = sp_layer(inp_tensor) >>> out_tensor.shape torch.Size([5, 1, 100])
- class speechbrain.nnet.pooling.AdaptivePool(output_size)[source]
基类:
Module
这个类实现了自适应平均池化。
- 参数:
output_size (int) – 输出大小。
示例
>>> pool = AdaptivePool(1) >>> inp = torch.randn([8, 120, 40]) >>> output = pool(inp) >>> output.shape torch.Size([8, 1, 40])
- class speechbrain.nnet.pooling.GaussianLowpassPooling(in_channels, kernel_size, stride=1, initialization_constant=0.4, padding='same', padding_mode='constant', bias=True, skip_transpose=False)[source]
基类:
Module
这个类实现了一个可学习的高斯低通池化,来自
Neil Zeghidour, Olivier Teboul, F{‘e}lix de Chaumont Quitry & Marco Tagliasacchi,“LEAF: A LEARNABLE FRONTEND FOR AUDIO CLASSIFICATION”,收录于 ICLR 2021 会议录 (https://arxiv.org/abs/2101.08596)
- 参数:
in_channels (int) – 输入通道的数量。
kernel_size (int) – 高斯低通滤波器核大小。
stride (int) – 卷积滤波器的步幅因子。当步幅因子 > 1 时,执行时间抽样。
initialization_constant (float) – 用于初始化的常数,默认为 0.4
padding (str) – (same, valid)。如果为 “valid”,则不执行填充。如果为 “same” 且步幅为 1,则输出形状与输入形状相同。
padding_mode (str) – 此标志指定填充类型。请参阅 torch.nn 文档了解更多信息。
bias (bool) – 如果为 True,采用加性偏差 b。
skip_transpose (bool) – 如果为 False,使用 speechbrain 的 batch x time x channel 约定。如果为 True,使用 batch x channel x time 约定。
示例
>>> inp_tensor = torch.rand([10, 8000, 40]) >>> low_pass_pooling = GaussianLowpassPooling( ... 40, kernel_size=401, stride=160, ... ) >>> # parameters corresponding to a window of 25 ms and stride 10 ms at 16000 kHz >>> out_tensor = low_pass_pooling(inp_tensor) >>> out_tensor.shape torch.Size([10, 50, 40])
- class speechbrain.nnet.pooling.AttentionPooling(input_dim)[source]
基类:
Module
这个函数实现了自注意力池化 (https://arxiv.org/abs/2008.01077)。
- 参数:
input_dim (int) – 输入 torch.Tensor 的维度。
示例
>>> inp_tensor = torch.rand([4, 40]) >>> pool = AttentionPooling(input_dim=40) >>> out_tensor = pool(inp_tensor)