speechbrain.nnet.quaternion_networks.q_pooling module

实现四元数值最大池化和平均池化层的库

作者
  • Drew Wagner 2024

摘要

QPooling2d

此类实现了四元数平均池化和基于幅值的最大池化,如“Geometric methods of perceptual organisation for computer vision”, Altamirano G. 中所述。

参考

class speechbrain.nnet.quaternion_networks.q_pooling.QPooling2d(pool_type, kernel_size, pool_axis=(1, 2), ceil_mode=False, padding=0, dilation=1, stride=None)[source]

基类: Pooling2d

此类实现了四元数平均池化和基于幅值的最大池化,如“Geometric methods of perceptual organisation for computer vision”, Altamirano G. 中所述。

参数:
  • pool_type (str) – 要使用的池化函数类型 (‘avg’,’max’)

  • kernel_size (int) – 定义池化维度的核大小。例如,核大小 = 3,3 执行 3x3 核的二维池化

  • pool_axis (tuple) – 包含将在池化过程中考虑的轴的列表

  • ceil_mode (bool) – 当为 True 时,将使用 ceil 而不是 floor 计算输出形状

  • padding (int) – 要应用的填充元素数量

  • dilation (int) – 控制池化的膨胀系数

  • stride (int) – 步长大小

示例

>>> pool = QPooling2d('max',(5,3))
>>> inputs = torch.rand(10, 15, 12)
>>> output=pool(inputs)
>>> output.shape
torch.Size([10, 3, 4])
forward(x)[source]

对输入 tensor 执行二维池化。

参数:

x (torch.Tensor) – 表示 mini-batch 的 tensor

返回类型:

池化后的 tensor