torchaudio.models.wav2vec2_model¶
- torchaudio.models.wav2vec2_model(extractor_mode: str, extractor_conv_layer_config: Optional[List[Tuple[int, int, int]]], extractor_conv_bias: bool, encoder_embed_dim: int, encoder_projection_dropout: float, encoder_pos_conv_kernel: int, encoder_pos_conv_groups: int, encoder_num_layers: int, encoder_num_heads: int, encoder_attention_dropout: float, encoder_ff_interm_features: int, encoder_ff_interm_dropout: float, encoder_dropout: float, encoder_layer_norm_first: bool, encoder_layer_drop: float, aux_num_out: Optional[int]) Wav2Vec2Model [原始碼]¶
建構自訂
Wav2Vec2Model
。注意
下方的「特徵提取器」對應於原始
fairseq
實作中的 ConvFeatureExtractionModel。在 wav2vec 2.0 [Baevski et al., 2020] 論文中,這被稱為「(卷積) 特徵編碼器」。下方的「編碼器」對應於 TransformerEncoder,在論文中被稱為「Transformer」。
- 參數:
extractor_mode (str) –
特徵提取器的操作模式。有效值為
"group_norm"
或"layer_norm"
。如果為"group_norm"
,則在第一個卷積區塊中應用單一正規化。否則,所有卷積區塊都將具有層正規化。此選項對應於
fairseq
中的extractor_mode
。extractor_conv_layer_config (python:integer 元組列表 或 None) –
特徵提取器中卷積層的配置。卷積配置列表,例如
[(output_channel, kernel_size, stride), ...]
如果提供
None
,則使用以下預設值。[ (512, 10, 5), (512, 3, 2), (512, 3, 2), (512, 3, 2), (512, 3, 2), (512, 2, 2), (512, 2, 2), ]
此選項對應於
fairseq
中的conv_feature_layers
。extractor_conv_bias (bool) –
是否在每個卷積運算中包含偏差項。
此選項對應於
fairseq
中的conv_bias
。encoder_embed_dim (int) –
編碼器中嵌入的維度。
此選項對應於
fairseq
中的encoder_embed_dim
。encoder_projection_dropout (float) –
在輸入特徵投影到
encoder_embed_dim
後應用的 dropout 概率。此選項對應於
fairseq
中的dropout_input
。encoder_pos_conv_kernel (int) –
卷積位置嵌入的核心大小。
此選項對應於
fairseq
中的conv_pos
。encoder_pos_conv_groups (int) –
卷積位置嵌入的群組數量。
此選項對應於
fairseq
中的conv_pos_groups
。encoder_num_layers (int) –
Transformer 區塊中自我注意力層的數量。
此選項對應於
fairseq
中的encoder_layers
。encoder_num_heads (int) –
自我注意力層中的 head 數量。
此選項對應於
fairseq
中的encoder_attention_heads
。encoder_attention_dropout (float) –
在自我注意力層中的 softmax 後應用的 dropout 概率。
此選項對應於
fairseq
中的attention_dropout
。encoder_ff_interm_features (int) –
前饋層中隱藏特徵的維度。
此選項對應於
fairseq
中的encoder_ffn_embed_dim
。encoder_ff_interm_dropout (float) –
在前饋層中應用的 dropout 概率。
此選項對應於
fairseq
中的activation_dropout
。encoder_dropout (float) –
在前饋層末尾應用的 dropout 概率。
此選項對應於
fairseq
中的dropout
。encoder_layer_norm_first (bool) –
控制 Transformer 層和每個編碼器層中層正規化的順序。如果為 True,則在 Transformer 層中,在將特徵饋送到編碼器層之前應用層正規化。在編碼器層中,在自我注意力之前和之後應用兩個層正規化。如果為 False,則在 Transformer 層中,在將特徵饋送到編碼器層之後應用層正規化。在編碼器層中,在自我注意力之後、前饋之前和之後應用兩個層正規化。
此選項對應於
fairseq
中的layer_norm_first
。encoder_layer_drop (float) –
在訓練期間丟棄每個編碼器層的機率。
此選項對應於
fairseq
中的layerdrop
。aux_num_out (int 或 None) – 提供時,在編碼器頂部附加一個額外的線性層,可用於微調。
- 返回:
結果模型。
- 返回類型: