paddlespeech.t2s.models.vits.duration_predictor 模块
VITS中的随机持续时间预测模块。
此代码基于 https://github.com/jaywalnut310/vits。
- class paddlespeech.t2s.models.vits.duration_predictor.StochasticDurationPredictor(channels: int = 192, kernel_size: int = 3, dropout_rate: float = 0.5, flows: int = 4, dds_conv_layers: int = 3, global_channels: int = -1)[来源]
基础:
Layer随机持续时间预测器模块。 这是一个随机持续时间预测器模块,如`Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech`_中描述的那样。 .. _`端到端的对抗学习条件变分自编码器
文本到语音`: https://arxiv.org/abs/2106.06103
方法
__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(x, x_mask[, w, g, inverse, noise_scale])计算前向传播。参数: x (Tensor): 输入张量 (B, channels, T_text)。 x_mask (Tensor): 掩码张量 (B, 1, T_text)。 w (Optional[Tensor]): 持续时间张量 (B, 1, T_text)。 g (Optional[Tensor]): 全局条件张量 (B, channels, 1) inverse (bool): 是否反向流动。 noise_scale (float): 噪声缩放值。 返回: Tensor: 如果不反向,则返回负对数似然 (NLL) 张量 (B,)。 如果反向,则返回对数持续时间张量 (B, 1, T_text)。
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(x: Tensor, x_mask: Tensor, w: Optional[Tensor] = None, g: Optional[Tensor] = None, inverse: bool = False, noise_scale: float = 1.0) Tensor[来源]
计算前向传播。 参数:
- x (Tensor):
输入张量 (B, channels, T_text).
- x_mask (Tensor):
掩码张量 (B, 1, T_text).
- w (Optional[Tensor]):
持续时间张量 (B, 1, T_text).
- g (Optional[Tensor]):
全局条件张量 (B, channels, 1)
- inverse (bool):
是否反转流向。
- noise_scale (float):
噪声尺度值。
- Returns:
- Tensor:
如果不是逆向,负对数似然(NLL)张量 (B,)。
如果是逆向,对数持续时间张量 (B, 1, T_text)。