快捷鍵

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: Convolution-augmented Transformer for Speech Recognition 中介紹的 Conformer 架構 [Gulati et al., 2020]

參數:
  • input_dim (int) – 輸入維度。

  • num_heads (int) – 每個 Conformer 層中的注意力頭數量。

  • ffn_dim (int) – 前饋網路的隱藏層維度。

  • num_layers (int) – 要實例化的 Conformer 層數量。

  • depthwise_conv_kernel_size (int) – 每個 Conformer 層的深度可分離卷積層的 Kernel 大小。

  • dropout (float, optional) – Dropout 機率。(預設值:0.0)

  • use_group_norm (bool, optional) – 在卷積模組中使用 GroupNorm 而不是 BatchNorm1d。(預設值: False)

  • convolution_first (bool, optional) – 在注意力模組之前應用卷積模組。(預設值: 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][source]
參數:
  • input (torch.Tensor) – 形狀為 (B, T, input_dim)

  • lengths (torch.Tensor) – 形狀為 (B,) 且第 i 個元素表示 input 中第 i 個批次元素的有效幀數。

傳回:

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

輸出幀,形狀為 (B, T, input_dim)

torch.Tensor

輸出長度,形狀為 (B,) 且第 i 個元素表示輸出幀中第 i 個批次元素的有效幀數。

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學

取得初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並取得問題解答

檢視資源