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')[来源]
基础:
LayerTacotron2模块用于端到端的文本转语音。
这是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()将此层及其所有子层设置为训练模式。
向后
注册状态字典钩子