快捷方式

torchaudio.models.hubert_pretrain_model

torchaudio.models.hubert_pretrain_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, mask_prob: float, mask_selection: str, mask_other: float, mask_length: int, no_mask_overlap: bool, mask_min_space: int, mask_channel_prob: float, mask_channel_selection: str, mask_channel_other: float, mask_channel_length: int, no_mask_channel_overlap: bool, mask_channel_min_space: int, skip_masked: bool, skip_nomask: bool, num_classes: int, final_dim: int, feature_grad_mult: Optional[float]) HuBERTPretrainModel[source]

构建自定义的 HuBERTPretrainModel 用于从头开始训练

注意

以下的“特征提取器”对应于 ConvFeatureExtractionModel 在原始 fairseq 实现中的。在 wav2vec 2.0 [Baevski et al., 2020] 论文中被称为“(卷积)特征编码器”。

以下的“编码器”对应于 TransformerEncoder,在论文中被称为“Transformer”。

参数:
  • extractor_mode (str) –

    特征提取器的操作模式。有效值为 "group_norm""layer_norm"。如果为 "group_norm",则在第一个卷积块中应用单个归一化。否则,所有卷积块将具有层归一化。

    此选项对应于 extractor_mode 来自 fairseq

  • extractor_conv_layer_config (python:整数元组列表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),
    ]
    

    此选项对应于 conv_feature_layers 来自 fairseq

  • extractor_conv_bias (bool) –

    是否将偏差项包含到每个卷积操作中。

    此选项对应于 conv_bias 来自 fairseq

  • encoder_embed_dim (int) –

    编码器中嵌入的维度。

    此选项对应于 encoder_embed_dim 来自 fairseq

  • encoder_projection_dropout (float) –

    将输入特征投影到 encoder_embed_dim 后应用的丢弃概率。

    此选项对应于 dropout_input 来自 fairseq

  • encoder_pos_conv_kernel (int) –

    卷积位置嵌入的核大小。

    此选项对应于 conv_pos 来自 fairseq

  • encoder_pos_conv_groups (int) –

    卷积位置嵌入组的数量。

    此选项对应于 conv_pos_groups 来自 fairseq

  • encoder_num_layers (int) –

    Transformer 块中自注意力层的数量。

    此选项对应于 encoder_layers 来自 fairseq

  • encoder_num_heads (int) –

    自注意力层中的头数。

    此选项对应于 encoder_attention_heads 来自 fairseq

  • encoder_attention_dropout (float) –

    在自注意力层中 softmax 后应用的 dropout 概率。

    此选项对应于 attention_dropout 来自 fairseq

  • encoder_ff_interm_features (int) –

    前馈层中隐藏特征的维度。

    此选项对应于 encoder_ffn_embed_dim 来自 fairseq

  • encoder_ff_interm_dropout (float) –

    在前馈层中应用的 dropout 概率。

    此选项对应于 activation_dropout 来自 fairseq

  • encoder_dropout (float) –

    在前馈层末尾应用的 dropout 概率。

    此选项对应于 dropout 来自 fairseq

  • encoder_layer_norm_first (bool) –

    控制 transformer 层和每个编码器层中层归一化的顺序。如果为 True,在 transformer 层中,层归一化在特征被送入编码器层之前应用。在编码器层中,两个层归一化在自注意力之前和之后应用。如果为 False,在 transformer 层中,层归一化在特征被送入编码器层之后应用。在编码器层中,两个层归一化在自注意力之后,在前馈之前和之后应用。

    此选项对应于 layer_norm_first 来自 fairseq

  • encoder_layer_drop (float) –

    在训练期间丢弃每个编码器层的概率。

    此选项对应于 layerdrop 来自 fairseq

  • mask_prob (float) –

    每个 token 被选为要掩盖的跨度的起始位置的概率。这将乘以时间步数除以掩盖跨度的长度,以近似掩盖所有元素的这个百分比。然而,由于重叠,实际数字将更小(除非 no_overlap 为 True)。

    此选项对应于 mask_prob 来自 fairseq

  • mask_selection (str) –

    如何选择掩盖长度。选项: [static, uniform, normal, poisson]。

    此选项对应于 mask_selection 来自 fairseq

  • mask_other (float) –

    辅助掩盖参数(用于更复杂的分布)。

    此选项对应于 mask_other 来自 fairseq

  • mask_length (int) –

    掩盖的长度。

    此选项对应于 mask_length 来自 fairseq

  • no_mask_overlap (bool) –

    是否允许掩盖重叠。

    此选项对应于 no_mask_overlap 来自 fairseq

  • mask_min_space (int) –

    跨度之间的最小间距(如果启用了 no overlap)。

    此选项对应于 mask_min_space 来自 fairseq

  • mask_channel_prob

    (float): 用 0 替换特征的概率。

    此选项对应于 mask_channel_prob 来自 fairseq

  • mask_channel_selection (str) –

    如何选择通道掩盖的掩盖长度。选项: [static, uniform, normal, poisson]。

    此选项对应于 mask_channel_selection 来自 fairseq

  • mask_channel_other (float) –

    通道掩盖的辅助掩盖参数(用于更复杂的分布)。

    此选项对应于 mask_channel_other 来自 fairseq

  • mask_channel_length (int) –

    通道掩盖的跨度之间的最小间距(如果启用了 no overlap)。

    此选项对应于 mask_channel_length 来自 fairseq

  • no_mask_channel_overlap (bool) –

    是否允许通道掩盖重叠。

    此选项对应于 no_mask_channel_overlap 来自 fairseq

  • mask_channel_min_space (int) –

    通道掩盖的跨度之间的最小间距(如果启用了 no overlap)。

    此选项对应于 mask_channel_min_space 来自 fairseq

  • skip_masked (bool) –

    如果为 True,跳过计算掩盖帧的损失。

    此选项对应于 skip_masked 来自 fairseq

  • skip_nomask (bool) –

    如果为 True,跳过计算未掩盖帧的损失。

    此选项对应于 skip_nomask 来自 fairseq

  • num_classes (int) – 标签中的类别数量。

  • final_dim (int) –

    将最终表示和目标投影到 final_dim

    此选项对应于 final_dim 来自 fairseq

  • feature_grad_mult (floatNone) –

    用于缩放卷积特征提取层梯度的因子。比例因子不会影响前向传递。

    此选项对应于 feature_grad_mult 来自 fairseq

返回:

生成的模型。

返回类型:

HuBERTPretrainModel

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获得针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得解答

查看资源