paddlespeech.t2s.models.tacotron2.tacotron2 模块

Tacotron 2相关模块用于paddle

class paddlespeech.t2s.models.tacotron2.tacotron2.Tacotron2(idim: int, odim: int, embed_dim: int = 512, elayers: int = 1, eunits: int = 512, econv_layers: int = 3, econv_chans: int = 512, econv_filts: int = 5, atype: str = 'location', adim: int = 512, aconv_chans: int = 32, aconv_filts: int = 15, cumulate_att_w: bool = True, dlayers: int = 2, dunits: int = 1024, prenet_layers: int = 2, prenet_units: int = 256, postnet_layers: int = 5, postnet_chans: int = 512, postnet_filts: int = 5, output_activation: Optional[str] = None, use_batch_norm: bool = True, use_concate: bool = True, use_residual: bool = False, reduction_factor: int = 1, spk_num: Optional[int] = None, lang_num: Optional[int] = None, spk_embed_dim: Optional[int] = None, spk_embed_integration_type: str = 'concat', dropout_rate: float = 0.5, zoneout_rate: float = 0.1, init_type: str = 'xavier_uniform')[来源]

基础: Layer

Tacotron2模块用于端到端的文本转语音。

这是Tacotron2中谱图预测网络的一个模块,描述于通过对梅尔谱图预测进行条件处理的自然TTS合成,它将字符序列转换为梅尔滤波器组序列。

方法

__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[, speech, spk_emb, spk_id, ...])

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

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: Tensor, text_lengths: Tensor, speech: Tensor, speech_lengths: Tensor, spk_emb: Optional[Tensor] = None, spk_id: Optional[Tensor] = None, lang_id: Optional[Tensor] = None) Tuple[Tensor, Dict[str, Tensor], Tensor][来源]

计算前向传播。

Args:
text (Tensor(int64)):

填充字符 ID 的批次 (B, T_text)。

text_lengths (Tensor(int64)):

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

speech (Tensor):

填充目标特征的批次 (B, T_feats, odim).

speech_lengths (Tensor(int64)):

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

spk_emb (Optional[Tensor]):

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

spk_id (Optional[Tensor]):

扬声器ID的批次 (B, 1)。

lang_id (Optional[Tensor]):

语言ID批次 (B, 1).

Returns:
Tensor:

损失标量值。

Dict:

需要监控的统计数据。

Tensor:

如果不是联合训练,则为权重值,否则为模型输出。

inference(text: Tensor, speech: Optional[Tensor] = None, spk_emb: Optional[Tensor] = None, spk_id: Optional[Tensor] = None, lang_id: Optional[Tensor] = None, threshold: float = 0.5, minlenratio: float = 0.0, maxlenratio: float = 10.0, use_att_constraint: bool = False, backward_window: int = 1, forward_window: int = 3, use_teacher_forcing: bool = False) Dict[str, Tensor][来源]

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

Args:
text (Tensor(int64)):

输入字符序列 (T_text,)。

speech (Optional[Tensor]):

提取样式的特征序列 (N, idim)。

spk_emb (ptional[Tensor]):

说话人嵌入(spk_embed_dim,)。

spk_id (Optional[Tensor]):

扬声器 ID (1,).

lang_id (Optional[Tensor]):

语言 ID (1,).

threshold (float):

推断中的阈值。

minlenratio (float):

推断中的最小长度比。

maxlenratio (float):

推理中的最大长度比率。

use_att_constraint (bool):

是否应用注意力约束。

backward_window (int):

注意约束中的向后窗口。

forward_window (int):

在注意力约束下的前向窗口。

use_teacher_forcing (bool):

是否使用教师强制。

Returns:

字典[str, 张量] 输出字典包括以下项目:

  • feat_gen (Tensor): 输出特征序列 (T_feats, odim)。

  • prob (张量): 输出停止概率序列 (T_feats,).

  • att_w (Tensor):注意力权重 (T_feats, T)。

class paddlespeech.t2s.models.tacotron2.tacotron2.Tacotron2Inference(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): 解包的字典参数