speechbrain.nnet.quaternion_networks.q_CNN 模块
实现四元数值卷积神经网络的库。
- Authors
Titouan Parcollet 2020
德鲁·瓦格纳 2024
摘要
类:
此函数实现了四元数值的一维卷积。 |
|
此函数实现了四元数值的1维卷积。 |
参考
- class speechbrain.nnet.quaternion_networks.q_CNN.QConv1d(out_channels, kernel_size, input_shape=None, stride=1, dilation=1, padding='same', groups=1, bias=True, padding_mode='reflect', init_criterion='glorot', weight_init='quaternion', spinor=False, vector_scale=False, max_norm=None)[source]
基础:
Module此函数实现了四元数值的一维卷积。
- Parameters:
out_channels (int) – 输出通道数。请注意 这些是四元数值的神经元。如果指定了256 个通道,输出维度 将是1024。
kernel_size (int) – 卷积滤波器的核大小。
input_shape (tuple) – 输入的形状。
stride (int, 可选) – 卷积滤波器的步长因子(默认为1)。
dilation (int, 可选) – 卷积滤波器的膨胀因子(默认为1)。
padding (str, optional) – (same, valid, causal). 如果为“valid”,则不进行填充。 如果为“same”且步幅为1,输出形状与输入形状相同。 “causal”会导致因果(扩张)卷积(默认为“same”)。
groups (int, 可选) – 默认值: 1 此选项指定卷积组。有关更多信息,请参阅 torch.nn 文档(默认值为 1)。
bias (bool, 可选) – 如果为True,则采用加法偏置b(默认为True)。
padding_mode (str, 可选) – 此标志指定填充的类型。有关更多信息,请参阅 torch.nn 文档(默认为“reflect”)。
init_criterion (str , optional) – (glorot, he). 此参数控制权重的初始化标准。 它与weights_init结合使用,以构建四元数值权重的初始化方法(默认为“glorot”)。
weight_init (str, optional) – (quaternion, unitary). 此参数定义了四元数值权重的初始化过程。“quaternion”将根据init_criterion和四元数极坐标形式生成随机四元数权重。“unitary”将权重归一化到单位圆上(默认为“quaternion”)。 更多详情请参阅:“Quaternion Recurrent Neural Networks”, Parcollet T. 等人。
spinor (bool, optional) – 当为True时,该层将变为旋量层。更准确地说,W*x将变为W*x*W-1。输入x将被W旋转,就像在旋量神经网络中一样。然而,x必须是一个实部为零的四元数(0 + xi + yj + zk)。实际上,旋转操作仅作用于向量部分。请注意,W在旋转之前将始终被归一化,以确保四元数代数(默认值为False)。 更多详细信息请参见:“四元数神经网络”,Parcollet T.
vector_scale (bool, 可选) – vector_scale 仅在 spinor = True 时使用。在旋量神经网络的上下文中,输入向量 x 会进行多次旋转并求和。因此,输出向量的范数总是随着层数的增加而增加,使得神经网络在深层配置下不稳定。vector_scale 参数是可学习的参数,它们通过将输出向量乘以一个小的可训练参数来充当门控的作用(默认值为 False)。
max_norm (float) – 核的最大范数。
Example
>>> inp_tensor = torch.rand([10, 16, 40]) >>> cnn_1d = QConv1d( ... input_shape=inp_tensor.shape, out_channels=12, kernel_size=3 ... ) >>> out_tensor = cnn_1d(inp_tensor) >>> out_tensor.shape torch.Size([10, 16, 48])
- class speechbrain.nnet.quaternion_networks.q_CNN.QConv2d(out_channels, kernel_size, input_shape=None, stride=1, dilation=1, padding='same', groups=1, bias=True, padding_mode='reflect', init_criterion='glorot', weight_init='quaternion', spinor=False, vector_scale=False, max_norm=None, swap=False, skip_transpose=False)[source]
基础:
Module此函数实现了四元数值的一维卷积。
- Parameters:
out_channels (int) – 输出通道数。请注意 这些是四元数值的神经元。如果指定了256 个通道,输出维度 将是1024。
kernel_size (int) – 卷积滤波器的核大小。
input_shape (tuple) – 输入的形状。
stride (int, 可选) – 卷积滤波器的步长因子(默认为1)。
dilation (int, 可选) – 卷积滤波器的膨胀因子(默认为1)。
padding (str, 可选) – (same, causal). 如果为“valid”,则不进行填充。 如果为“same”且步幅为1,输出形状与输入形状相同(默认为“same”)。
groups (int, 可选) – 此选项指定卷积组。有关更多信息,请参阅 torch.nn 文档。(默认值为 1)。
bias (bool, 可选) – 如果为True,则采用加法偏置b(默认为True)。
padding_mode (str, 可选) – 此标志指定填充的类型。有关更多信息,请参阅 torch.nn 文档。(默认值为“reflect”)
init_criterion (str , optional) – (glorot, he). 此参数控制权重的初始化标准。 它与weights_init结合使用,以构建四元数值权重的初始化方法(默认为“glorot”)。
weight_init (str, optional) – (quaternion, unitary). 此参数定义了四元数值权重的初始化过程。“quaternion”将根据init_criterion和四元数极坐标形式生成随机四元数权重。“unitary”将权重归一化到单位圆上(默认为“quaternion”)。 更多详情请参阅:“Quaternion Recurrent Neural Networks”, Parcollet T. 等人。
spinor (bool, optional) – 当为True时,该层将变为旋量层。更准确地说,W*x将变为W*x*W-1。输入x将被W旋转,就像在旋量神经网络中一样。然而,x必须是一个实部为零的四元数(0 + xi + yj + zk)。实际上,旋转操作仅作用于向量部分。请注意,W在旋转之前将始终被归一化,以确保四元数代数(默认值为False)。 更多详细信息请参见:“四元数神经网络”,Parcollet T.
vector_scale (bool, 可选) – vector_scale 仅在 spinor = True 时使用。在旋量神经网络的上下文中,输入向量 x 会进行多次旋转并求和。因此,输出向量的范数总是随着层数的增加而增加,使得神经网络在深层配置下不稳定。vector_scale 参数是可学习的参数,它们通过将输出向量乘以一个小的可训练参数来充当门控(默认值为 False)。
max_norm (float) – 核的最大范数。
swap (bool) – 如果为True,卷积将以(B, C, W, H)格式进行。 如果为False,卷积将以(B, H, W, C)格式进行。 仅在skip_transpose为False时有效。
skip_transpose (bool) – 如果为False,使用speechbrain的batch x spatial.dim2 x spatial.dim1 x channel约定。 如果为True,使用batch x channel x spatial.dim1 x spatial.dim2约定。
Example
>>> inp_tensor = torch.rand([10, 4, 16, 40]) >>> cnn_1d = QConv2d( ... input_shape=inp_tensor.shape, out_channels=12, kernel_size=3 ... ) >>> out_tensor = cnn_1d(inp_tensor) >>> out_tensor.shape torch.Size([10, 4, 16, 48])