快捷方式

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 模型用於訓練

注意

下面的“特徵提取器”對應於原始 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 (list of python:integer tuples or 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

  • mask_prob (float) –

    每個 token 被選為要掩蓋的 span 起點的機率。此機率將乘以時間步長數除以掩碼 span 的長度,以大致掩蓋所有元素的此百分比。然而,由於重疊,實際數量會更小(除非 no_overlap 為 True)。

    此選項對應於 fairseq 中的 mask_prob

  • mask_selection (str) –

    如何選擇掩碼長度。選項:[static, uniform, normal, poisson]。

    此選項對應於 fairseq 中的 mask_selection

  • mask_other (float) –

    次要掩碼引數(用於更復雜的分佈)。

    此選項對應於 fairseq 中的 mask_other

  • mask_length (int) –

    掩碼的長度。

    此選項對應於 fairseq 中的 mask_length

  • no_mask_overlap (bool) –

    是否允許掩碼重疊。

    此選項對應於 fairseq 中的 no_mask_overlap

  • mask_min_space (int) –

    span 之間的最小間隔(如果未啟用重疊)。

    此選項對應於 fairseq 中的 mask_min_space

  • mask_channel_prob

    (float): 將特徵替換為 0 的機率。

    此選項對應於 fairseq 中的 mask_channel_prob

  • mask_channel_selection (str) –

    如何選擇通道掩碼的掩碼長度。選項:[static, uniform, normal, poisson]。

    此選項對應於 fairseq 中的 mask_channel_selection

  • mask_channel_other (float) –

    通道掩碼的次要掩碼引數(用於更復雜的分佈)。

    此選項對應於 fairseq 中的 mask_channel_other

  • mask_channel_length (int) –

    通道掩碼的 span 之間的最小間隔(如果未啟用重疊)。

    此選項對應於 fairseq 中的 mask_channel_length

  • no_mask_channel_overlap (bool) –

    是否允許通道掩碼重疊。

    此選項對應於 fairseq 中的 no_mask_channel_overlap

  • mask_channel_min_space (int) –

    通道掩碼的 span 之間的最小間隔(如果未啟用重疊)。

    此選項對應於 fairseq 中的 mask_channel_min_space

  • skip_masked (bool) –

    如果為 True,跳過計算被掩碼幀上的損失。

    此選項對應於 fairseq 中的 skip_masked

  • skip_nomask (bool) –

    如果為 True,跳過計算未被掩碼幀上的損失。

    此選項對應於 fairseq 中的 skip_nomask

  • num_classes (int) – 標籤中的類別數。

  • final_dim (int) –

    將最終表示和目標投影到 final_dim

    此選項對應於 fairseq 中的 final_dim

  • feature_grad_mult (floatNone) –

    用於縮放卷積特徵提取層梯度的因子。此縮放因子不會影響前向傳播。

    此選項對應於 fairseq 中的 feature_grad_mult

返回:

生成的模型。

返回型別:

HuBERTPretrainModel

文件

查閱 PyTorch 的完整開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並解答疑問

檢視資源