快捷方式

Conformer

class torchaudio.models.Conformer(input_dim: int, num_heads: int, ffn_dim: int, num_layers: int, depthwise_conv_kernel_size: int, dropout: float = 0.0, use_group_norm: bool = False, convolution_first: bool = False)[源码]

Conformer 架构,在 _Conformer: Convolution-augmented Transformer for Speech Recognition_ 中首次提出 [Gulati et al., 2020]

参数
  • input_dim (int) – 输入维度。

  • num_heads (int) – 每个 Conformer 层中的注意力头数。

  • ffn_dim (int) – 前馈网络的隐藏层维度。

  • num_layers (int) – 要实例化的 Conformer 层数。

  • depthwise_conv_kernel_size (int) – 每个 Conformer 层的深度卷积层的核大小。

  • dropout (float, 可选) – dropout 概率。(默认:0.0)

  • use_group_norm (bool, 可选) – 在卷积模块中使用 GroupNorm 而不是 BatchNorm1d。(默认:False

  • convolution_first (bool, 可选) – 在注意力模块之前应用卷积模块。(默认:False

示例

>>> conformer = Conformer(
>>>     input_dim=80,
>>>     num_heads=4,
>>>     ffn_dim=128,
>>>     num_layers=4,
>>>     depthwise_conv_kernel_size=31,
>>> )
>>> lengths = torch.randint(1, 400, (10,))  # (batch,)
>>> input = torch.rand(10, int(lengths.max()), input_dim)  # (batch, num_frames, input_dim)
>>> output = conformer(input, lengths)

方法

forward

Conformer.forward(input: Tensor, lengths: Tensor) Tuple[Tensor, Tensor][源码]
参数
  • input (torch.Tensor) – 形状为 (B, T, input_dim)

  • lengths (torch.Tensor) – 形状为 (B,),其中第 i 个元素表示第 i 个批次元素在 input 中的有效帧数。

返回

(torch.Tensor, torch.Tensor)
torch.Tensor

输出帧,形状为 (B, T, input_dim)

torch.Tensor

输出长度,形状为 (B,),其中第 i 个元素表示输出帧中第 i 个批次元素的有效帧数。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源