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 (float 或 None) –
用於縮放卷積特徵提取層梯度的因子。此縮放因子不會影響前向傳播。
此選項對應於
fairseq中的feature_grad_mult。
- 返回:
生成的模型。
- 返回型別: