paddlespeech.t2s.models.fastspeech2.fastspeech2 模块

Fastspeech2 相关模块用于 paddle

class paddlespeech.t2s.models.fastspeech2.fastspeech2.FastSpeech2(idim: int, odim: int, adim: int = 384, aheads: int = 4, elayers: int = 6, eunits: int = 1536, dlayers: int = 6, dunits: int = 1536, postnet_layers: int = 5, postnet_chans: int = 512, postnet_filts: int = 5, postnet_dropout_rate: float = 0.5, positionwise_layer_type: str = 'conv1d', positionwise_conv_kernel_size: int = 1, use_scaled_pos_enc: bool = True, use_batch_norm: bool = True, encoder_normalize_before: bool = True, decoder_normalize_before: bool = True, encoder_concat_after: bool = False, decoder_concat_after: bool = False, reduction_factor: int = 1, encoder_type: str = 'transformer', decoder_type: str = 'transformer', transformer_enc_dropout_rate: float = 0.1, transformer_enc_positional_dropout_rate: float = 0.1, transformer_enc_attn_dropout_rate: float = 0.1, transformer_dec_dropout_rate: float = 0.1, transformer_dec_positional_dropout_rate: float = 0.1, transformer_dec_attn_dropout_rate: float = 0.1, transformer_activation_type: str = 'relu', conformer_pos_enc_layer_type: str = 'rel_pos', conformer_self_attn_layer_type: str = 'rel_selfattn', conformer_activation_type: str = 'swish', use_macaron_style_in_conformer: bool = True, use_cnn_in_conformer: bool = True, zero_triu: bool = False, conformer_enc_kernel_size: int = 7, conformer_dec_kernel_size: int = 31, cnn_dec_dropout_rate: float = 0.2, cnn_postnet_dropout_rate: float = 0.2, cnn_postnet_resblock_kernel_sizes: List[int] = [256, 256], cnn_postnet_kernel_size: int = 5, cnn_decoder_embedding_dim: int = 256, duration_predictor_layers: int = 2, duration_predictor_chans: int = 384, duration_predictor_kernel_size: int = 3, duration_predictor_dropout_rate: float = 0.1, energy_predictor_layers: int = 2, energy_predictor_chans: int = 384, energy_predictor_kernel_size: int = 3, energy_predictor_dropout: float = 0.5, energy_embed_kernel_size: int = 9, energy_embed_dropout: float = 0.5, stop_gradient_from_energy_predictor: bool = False, pitch_predictor_layers: int = 2, pitch_predictor_chans: int = 384, pitch_predictor_kernel_size: int = 3, pitch_predictor_dropout: float = 0.5, pitch_embed_kernel_size: int = 9, pitch_embed_dropout: float = 0.5, stop_gradient_from_pitch_predictor: bool = False, spk_num: Optional[int] = None, spk_embed_dim: Optional[int] = None, spk_embed_integration_type: str = 'add', tone_num: Optional[int] = None, tone_embed_dim: Optional[int] = None, tone_embed_integration_type: str = 'add', init_type: str = 'xavier_uniform', init_enc_alpha: float = 1.0, init_dec_alpha: float = 1.0, enable_speaker_classifier: bool = False, hidden_sc_dim: int = 256)[来源]

基础: Layer

FastSpeech2 模块。

这是FastSpeech2的一个模块,如FastSpeech 2: Fast and High-Quality End-to-End Text to Speech所述。我们使用在FastPitch: Parallel Text-to-speech with Pitch Prediction中引入的基于Token的平均值,而不是量化的音高和能量。

参数:

返回:

方法

__call__(*inputs, **kwargs)

将self作为一个函数调用。

add_parameter(name, parameter)

添加一个参数实例。

add_sublayer(name, sublayer)

添加一个子层实例。

apply(fn)

递归地将 fn 应用到每个子层(由 .sublayers() 返回)以及自身。

buffers([include_sublayers])

返回当前层及其子层中的所有缓冲区的列表。

children()

返回一个迭代器,遍历直接子层。

clear_gradients()

清除此层所有参数的梯度。

create_parameter(shape[, attr, dtype, ...])

为该层创建参数。

create_tensor([name, persistable, dtype])

为该层创建张量。

create_variable([name, persistable, dtype])

为该层创建张量。

eval()

将该层及其所有子层设置为评估模式。

extra_repr()

该层的额外表示,您可以自定义实现自己的层。

forward(text, text_lengths, speech, ...[, ...])

计算前向传播。

full_name()

此层的完整名称,由 name_scope + "/" + MyLayer.__class__.__name__ 组成

inference(text[, durations, pitch, energy, ...])

生成给定字符序列的特征序列。

load_dict(state_dict[, use_structured_name])

从 state_dict 设置参数和可持久化缓存。

named_buffers([prefix, include_sublayers])

返回一个迭代器,遍历层中的所有缓冲区,生成名称和张量的元组。

named_children()

返回一个直接子层的迭代器,同时提供层的名称和层本身。

named_parameters([prefix, include_sublayers])

返回一个迭代器,遍历层中的所有参数,生成名称和参数的元组。

named_sublayers([prefix, include_self, ...])

返回Layer中所有子层的迭代器,生成名称和子层的元组。

parameters([include_sublayers])

返回当前层及其子层的所有参数的列表。

register_buffer(name, tensor[, persistable])

将一个张量注册为该层的缓冲区。

register_forward_post_hook(hook)

为层注册一个前向后钩子。

register_forward_pre_hook(hook)

为层注册一个前向预钩子。

set_dict(state_dict[, use_structured_name])

从 state_dict 设置参数和可持久化的缓冲区。

set_state_dict(state_dict[, use_structured_name])

从state_dict设置参数和持久化缓冲区。

state_dict([destination, include_sublayers, ...])

获取当前层及其子层的所有参数和可持久化缓冲区。

sublayers([include_self])

返回子层的列表。

to([device, dtype, blocking])

通过给定的设备、数据类型和阻塞方式转换层的参数和缓冲区。

to_static_state_dict([destination, ...])

获取当前层及其子层的所有参数和缓冲区。

train()

将此层及其所有子层设置为训练模式。

向后

encoder_infer

注册状态字典钩子

encoder_infer(text: Tensor, spk_id=None, alpha: float = 1.0, spk_emb=None, tone_id=None) Tuple[Tensor, Tensor, Tensor][来源]
forward(text: Tensor, text_lengths: Tensor, speech: Tensor, speech_lengths: Tensor, durations: Tensor, pitch: Tensor, energy: Tensor, tone_id: Optional[Tensor] = None, spk_emb: Optional[Tensor] = None, spk_id: Optional[Tensor] = None) Tuple[Tensor, Dict[str, Tensor], Tensor][来源]

计算前向传播。

Args:
text(Tensor(int64)):

填充的令牌 ID 批次 (B, Tmax)。

text_lengths(Tensor(int64)):

每个输入的长度批次 (B,).

speech(Tensor):

填充目标特征的批次 (B, Lmax, odim)。

speech_lengths(Tensor(int64)):

每个目标的长度批次(B,)。

durations(Tensor(int64)):

填充持续时间的批次 (B, Tmax)。

pitch(Tensor):

填充的标记平均音高的批次(B, Tmax, 1)。

energy(Tensor):

批处理的填充令牌平均能量 (B, Tmax, 1)。

tone_id(Tensor, optional(int64)):

填充音调 ID 的批次 (B, Tmax)。

spk_emb(Tensor, optional):

说话人嵌入的批次 (B, spk_embed_dim).

spk_id(Tnesor, optional(int64)):

一批扬声器ID (B,)

返回:

inference(text: Tensor, durations: Optional[Tensor] = None, pitch: Optional[Tensor] = None, energy: Optional[Tensor] = None, alpha: float = 1.0, use_teacher_forcing: bool = False, spk_emb=None, spk_id=None, tone_id=None) Tuple[Tensor, Tensor, Tensor][来源]

根据字符序列生成特征序列。

Args:
text(Tensor(int64)):

输入字符序列 (T,).

durations(Tensor, optional (int64)):

持续时间的真实值 (T,).

pitch(Tensor, optional):

标记平均音高的真实值 (T, 1).

energy(Tensor, optional):

令牌平均能量的真实值 (T, 1).

alpha(float, optional):

Alpha 控制速度。

use_teacher_forcing(bool, optional):

是否使用教师强制。 如果为真,持续时间、音高和能量的真实值将被使用。

spk_emb(Tensor, optional, optional):

说话人嵌入向量 (spk_embed_dim,)。 (默认值 = None)

spk_id(Tensor, optional(int64), optional):

spk ids (1,). (默认值 = None)

tone_id(Tensor, optional(int64), optional):

音调 ID (T,)。 (默认值 = None)

返回:

class paddlespeech.t2s.models.fastspeech2.fastspeech2.FastSpeech2Inference(normalizer, model)[来源]

基础: Layer

方法

__call__(*inputs, **kwargs)

将self作为一个函数调用。

add_parameter(name, parameter)

添加一个参数实例。

add_sublayer(name, sublayer)

添加一个子层实例。

apply(fn)

递归地将 fn 应用到每个子层(由 .sublayers() 返回)以及自身。

buffers([include_sublayers])

返回当前层及其子层中的所有缓冲区的列表。

children()

返回一个迭代器,遍历直接子层。

clear_gradients()

清除此层所有参数的梯度。

create_parameter(shape[, attr, dtype, ...])

为该层创建参数。

create_tensor([name, persistable, dtype])

为该层创建张量。

create_variable([name, persistable, dtype])

为该层创建张量。

eval()

将该层及其所有子层设置为评估模式。

extra_repr()

该层的额外表示,您可以自定义实现自己的层。

forward(text[, spk_id, spk_emb])

定义在每次调用时执行的计算。

full_name()

此层的完整名称,由 name_scope + "/" + MyLayer.__class__.__name__ 组成

load_dict(state_dict[, use_structured_name])

从 state_dict 设置参数和可持久化缓存。

named_buffers([prefix, include_sublayers])

返回一个迭代器,遍历层中的所有缓冲区,生成名称和张量的元组。

named_children()

返回一个直接子层的迭代器,同时提供层的名称和层本身。

named_parameters([prefix, include_sublayers])

返回一个迭代器,遍历层中的所有参数,生成名称和参数的元组。

named_sublayers([prefix, include_self, ...])

返回Layer中所有子层的迭代器,生成名称和子层的元组。

parameters([include_sublayers])

返回当前层及其子层的所有参数的列表。

register_buffer(name, tensor[, persistable])

将一个张量注册为该层的缓冲区。

register_forward_post_hook(hook)

为层注册一个前向后钩子。

register_forward_pre_hook(hook)

为层注册一个前向预钩子。

set_dict(state_dict[, use_structured_name])

从 state_dict 设置参数和可持久化的缓冲区。

set_state_dict(state_dict[, use_structured_name])

从state_dict设置参数和持久化缓冲区。

state_dict([destination, include_sublayers, ...])

获取当前层及其子层的所有参数和可持久化缓冲区。

sublayers([include_self])

返回子层的列表。

to([device, dtype, blocking])

通过给定的设备、数据类型和阻塞方式转换层的参数和缓冲区。

to_static_state_dict([destination, ...])

获取当前层及其子层的所有参数和缓冲区。

train()

将此层及其所有子层设置为训练模式。

向后

注册状态字典钩子

forward(text, spk_id=None, spk_emb=None)[来源]

定义每次调用时执行的计算。应该被所有子类重写。

Parameters:

*inputs(tuple): 解包的元组参数 **kwargs(dict): 解包的字典参数

class paddlespeech.t2s.models.fastspeech2.fastspeech2.FastSpeech2Loss(use_masking: bool = True, use_weighted_masking: bool = False)[来源]

基础: Layer

FastSpeech2的损失函数模块。

方法

__call__(*inputs, **kwargs)

将self作为一个函数调用。

add_parameter(name, parameter)

添加一个参数实例。

add_sublayer(name, sublayer)

添加一个子层实例。

apply(fn)

递归地将 fn 应用到每个子层(由 .sublayers() 返回)以及自身。

buffers([include_sublayers])

返回当前层及其子层中的所有缓冲区的列表。

children()

返回一个迭代器,遍历直接子层。

clear_gradients()

清除此层所有参数的梯度。

create_parameter(shape[, attr, dtype, ...])

为该层创建参数。

create_tensor([name, persistable, dtype])

为该层创建张量。

create_variable([name, persistable, dtype])

为该层创建张量。

eval()

将该层及其所有子层设置为评估模式。

extra_repr()

该层的额外表示,您可以自定义实现自己的层。

forward(after_outs, before_outs, d_outs, ...)

计算前向传播。

full_name()

此层的完整名称,由 name_scope + "/" + MyLayer.__class__.__name__ 组成

load_dict(state_dict[, use_structured_name])

从 state_dict 设置参数和可持久化缓存。

named_buffers([prefix, include_sublayers])

返回一个迭代器,遍历层中的所有缓冲区,生成名称和张量的元组。

named_children()

返回一个直接子层的迭代器,同时提供层的名称和层本身。

named_parameters([prefix, include_sublayers])

返回一个迭代器,遍历层中的所有参数,生成名称和参数的元组。

named_sublayers([prefix, include_self, ...])

返回Layer中所有子层的迭代器,生成名称和子层的元组。

parameters([include_sublayers])

返回当前层及其子层的所有参数的列表。

register_buffer(name, tensor[, persistable])

将一个张量注册为该层的缓冲区。

register_forward_post_hook(hook)

为层注册一个前向后钩子。

register_forward_pre_hook(hook)

为层注册一个前向预钩子。

set_dict(state_dict[, use_structured_name])

从 state_dict 设置参数和可持久化的缓冲区。

set_state_dict(state_dict[, use_structured_name])

从state_dict设置参数和持久化缓冲区。

state_dict([destination, include_sublayers, ...])

获取当前层及其子层的所有参数和可持久化缓冲区。

sublayers([include_self])

返回子层的列表。

to([device, dtype, blocking])

通过给定的设备、数据类型和阻塞方式转换层的参数和缓冲区。

to_static_state_dict([destination, ...])

获取当前层及其子层的所有参数和缓冲区。

train()

将此层及其所有子层设置为训练模式。

向后

注册状态字典钩子

forward(after_outs: Tensor, before_outs: Tensor, d_outs: Tensor, p_outs: Tensor, e_outs: Tensor, ys: Tensor, ds: Tensor, ps: Tensor, es: Tensor, ilens: Tensor, olens: Tensor, spk_logits: Optional[Tensor] = None, spk_ids: Optional[Tensor] = None) Tuple[Tensor, Tensor, Tensor, Tensor, Tensor][来源]

计算前向传播。

Args:
after_outs(Tensor):

后处理网络的输出批次(B,Lmax,odim)。

before_outs(Tensor):

后处理之前的输出批次 (B, Lmax, odim)。

d_outs(Tensor):

持续时间预测器的输出批次 (B, Tmax)。

p_outs(Tensor):

音高预测器的输出批次 (B, Tmax, 1)。

e_outs(Tensor):

能量预测器的输出批次(B,Tmax,1)。

ys(Tensor):

目标特征的批次 (B, Lmax, odim)。

ds(Tensor):

持续时间批次(B,Tmax)。

ps(Tensor):

目标令牌的平均音高批次(B,Tmax,1)。

es(Tensor):

目标令牌平均能量的批次 (B, Tmax, 1).

ilens(Tensor):

每个输入的长度批次 (B,).

olens(Tensor):

每个目标的长度批次(B,)。

spk_logits(Option[Tensor]):

说话者分类器后的输出批次 (B, Lmax, num_spk)

spk_ids(Option[Tensor]):

目标 spk_id 的批次 (B,)

返回:

class paddlespeech.t2s.models.fastspeech2.fastspeech2.StyleFastSpeech2Inference(normalizer, model, pitch_stats_path=None, energy_stats_path=None)[来源]

基础: FastSpeech2Inference

方法

__call__(*inputs, **kwargs)

将self作为一个函数调用。

add_parameter(name, parameter)

添加一个参数实例。

add_sublayer(name, sublayer)

添加一个子层实例。

apply(fn)

递归地将 fn 应用到每个子层(由 .sublayers() 返回)以及自身。

buffers([include_sublayers])

返回当前层及其子层中的所有缓冲区的列表。

children()

返回一个迭代器,遍历直接子层。

clear_gradients()

清除此层所有参数的梯度。

create_parameter(shape[, attr, dtype, ...])

为该层创建参数。

create_tensor([name, persistable, dtype])

为该层创建张量。

create_variable([name, persistable, dtype])

为该层创建张量。

eval()

将该层及其所有子层设置为评估模式。

extra_repr()

该层的额外表示,您可以自定义实现自己的层。

forward(文本[, 持续时间, 持续时间比例, ...])

参数:

full_name()

此层的完整名称,由 name_scope + "/" + MyLayer.__class__.__name__ 组成

load_dict(state_dict[, use_structured_name])

从 state_dict 设置参数和可持久化缓存。

named_buffers([prefix, include_sublayers])

返回一个迭代器,遍历层中的所有缓冲区,生成名称和张量的元组。

named_children()

返回一个直接子层的迭代器,同时提供层的名称和层本身。

named_parameters([prefix, include_sublayers])

返回一个迭代器,遍历层中的所有参数,生成名称和参数的元组。

named_sublayers([prefix, include_self, ...])

返回Layer中所有子层的迭代器,生成名称和子层的元组。

parameters([include_sublayers])

返回当前层及其子层的所有参数的列表。

register_buffer(name, tensor[, persistable])

将一个张量注册为该层的缓冲区。

register_forward_post_hook(hook)

为层注册一个前向后钩子。

register_forward_pre_hook(hook)

为层注册一个前向预钩子。

set_dict(state_dict[, use_structured_name])

从 state_dict 设置参数和可持久化的缓冲区。

set_state_dict(state_dict[, use_structured_name])

从state_dict设置参数和持久化缓冲区。

state_dict([destination, include_sublayers, ...])

获取当前层及其子层的所有参数和可持久化缓冲区。

sublayers([include_self])

返回子层的列表。

to([device, dtype, blocking])

通过给定的设备、数据类型和阻塞方式转换层的参数和缓冲区。

to_static_state_dict([destination, ...])

获取当前层及其子层的所有参数和缓冲区。

train()

将此层及其所有子层设置为训练模式。

向后

去规范化

规范

注册状态字典钩子

denorm(data, mean, std)[来源]
forward(text: Tensor, durations: Optional[Union[Tensor, ndarray]] = None, durations_scale: Optional[Union[int, float]] = None, durations_bias: Optional[Union[int, float]] = None, pitch: Optional[Union[Tensor, ndarray]] = None, pitch_scale: Optional[Union[int, float]] = None, pitch_bias: Optional[Union[int, float]] = None, energy: Optional[Union[Tensor, ndarray]] = None, energy_scale: Optional[Union[int, float]] = None, energy_bias: Optional[Union[int, float]] = None, robot: bool = False, spk_emb=None, spk_id=None)[来源]
Args:
text(Tensor(int64)):

输入字符序列 (T,).

durations(paddle.Tensor/np.ndarray, optional (int64)):

持续时间的真实值 (T,),这将覆盖设置的 durations_scale 和 durations_bias

持续时间缩放(int/float, 可选):

持续时间偏差(int/float, 可选):

pitch(paddle.Tensor/np.ndarray, optional):

令牌平均音高的真实值 (T, 1),这将覆盖设置的 pitch_scale 和 pitch_bias

pitch_scale(int/float, optional):

在反规范化的HZ域中。

pitch_bias(int/float, optional):

在非规范化的HZ域中。

energy(paddle.Tensor/np.ndarray, optional):

令牌平均能量的真实值 (T, 1),这将覆盖能量_scale 和能量_bias 的设置

energy_scale(int/float, optional):

在非规范化域中。

energy_bias(int/float, optional):

在非规范化域中。

机器人(布尔值)(默认值 = 假):

spk_emb(默认值 = None):

spk_id(默认值 = None):

Returns:

张量: logmel

norm(data, mean, std)[来源]