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 [source]¶
构建自定义
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) –
自注意力层中头的数量。
此选项对应于
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) – 当提供时,在编码器顶部附加一个额外的线性层,可用于微调。
- 返回:
结果模型。
- 返回类型: