paddlespeech.t2s.modules.tacotron2.attentions 模块

注意用于RNN的模块。

class paddlespeech.t2s.modules.tacotron2.attentions.AttForward(eprojs, dunits, att_dim, aconv_chans, aconv_filts)[来源]

基础: Layer

前向注意力模块。
参考
----------
用于语音合成的序列到序列声学建模中的前向注意力

Args:
eprojs (int):

编码器的投影单位

dunits (int):

解码器的单位

att_dim (int):

注意维度

aconv_chans (int):

注意卷积的通道

aconv_filts (int):

过滤注意力卷积的大小

方法

__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(enc_hs_pad, enc_hs_len, dec_z, att_prev)

计算 AttForward 的前向传播。

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)

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

reset()

重置状态

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(enc_hs_pad, enc_hs_len, dec_z, att_prev, scaling=1.0, last_attended_idx=None, backward_window=1, forward_window=3)[来源]

计算 AttForward 前向传播。

Args:
enc_hs_pad(Tensor):

填充编码器隐藏状态 (B, T_max, D_enc)

enc_hs_len(list):

补零编码器隐藏状态长度 (B,)

dec_z(Tensor):

解码器隐藏状态 (B, D_dec)

att_prev(Tensor):

前一步的注意力权重 (B, T_max)

scaling(float, optional):

应用softmax之前的缩放参数(默认值 = 1.0)

last_attended_idx(int, optional):

最近参加的输入的索引(默认值 = None)

backward_window(int, optional):

注意约束中的向后窗口大小(默认值 = 1)

forward_window(int, optional):

(默认值 = 3)

Returns:
Tensor:

注意加权编码器状态 (B, D_enc)

Tensor:

以前的注意力权重 (B, T_max)

reset()[来源]

重置状态

class paddlespeech.t2s.modules.tacotron2.attentions.AttForwardTA(eunits, dunits, att_dim, aconv_chans, aconv_filts, odim)[来源]

基础: Layer

带有过渡代理模块的前向注意力。
参考:

Forward attention in sequence-to-sequence acoustic modeling for speech synthesis

(https://arxiv.org/pdf/1807.06736.pdf)

Args:
eunits (int):

编码器的单位

dunits (int):

解码器的单位

att_dim (int):

注意维度

aconv_chans (int):

注意卷积的通道

aconv_filts (int):

过滤注意力卷积的大小

odim (int):

输出维度

方法

__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(enc_hs_pad, enc_hs_len, dec_z, ...)

计算 AttForwardTA 的前向传播。

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(enc_hs_pad, enc_hs_len, dec_z, att_prev, out_prev, scaling=1.0, last_attended_idx=None, backward_window=1, forward_window=3)[来源]

计算 AttForwardTA 正向传播。

Args:
enc_hs_pad(Tensor):

填充编码器隐藏状态 (B, Tmax, eunits)

enc_hs_len(list Tensor):

补零编码器隐藏状态长度 (B,)

dec_z(Tensor):

解码器隐藏状态 (B, dunits)

att_prev(Tensor):

前一步的注意力权重 (B, T_max)

out_prev(Tensor):

解码器在上一步的输出 (B, odim)

scaling(float, optional):

应用softmax之前的缩放参数(默认值 = 1.0)

last_attended_idx(int, optional):

最近参加的输入的索引(默认值 = None)

backward_window(int, optional):

注意约束中的向后窗口大小(默认值 = 1)

forward_window(int, optional):

(默认值 = 3)

Returns:
Tensor:

注意加权编码器状态 (B, dunits)

Tensor:

之前的注意力权重(B,Tmax)

reset()[来源]
class paddlespeech.t2s.modules.tacotron2.attentions.AttLoc(eprojs, dunits, att_dim, aconv_chans, aconv_filts, han_mode=False)[来源]

基础: Layer

位置感知注意力模块。

Reference: Attention-Based Models for Speech Recognition

(https://arxiv.org/pdf/1506.07503.pdf)

Args:
eprojs (int):

编码器的投影单位

dunits (int):

解码器的单位

att_dim (int):

注意维度

aconv_chans (int):

注意卷积的通道

aconv_filts (int):

过滤注意力卷积的大小

han_mode (bool):

切换层次注意力模式的标志,并且不存储 pre_compute_enc_h

方法

__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(enc_hs_pad, enc_hs_len, dec_z, att_prev)

计算 AttLoc 前向传播。 参数: enc_hs_pad(Tensor): 填充的编码器隐藏状态 (B, T_max, D_enc) enc_hs_len(Tensor): 填充的编码器隐藏状态长度 (B) dec_z(Tensor dec_z): 解码器隐藏状态 (B, D_dec) att_prev(Tensor): 上一时刻的注意力权重 (B, T_max) scaling(float, optional): 在应用 softmax 之前的缩放参数 (默认值 = 2.0) forward_window(Tensor, optional): 限制注意力时的前向窗口大小 (默认值 = 3) last_attended_idx(int, optional): 最后一次关注的输入的索引 (默认值 = None) backward_window(int, optional): 注意力约束中的后向窗口大小 (默认值 = 1) forward_window(int, optional): 注意力约束中的前向窗口大小 (默认值 = 3) 返回: Tensor: 注意力加权的编码器状态 (B, D_enc) Tensor: 之前的注意力权重 (B, T_max)。

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)

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

reset()

重置状态

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(enc_hs_pad, enc_hs_len, dec_z, att_prev, scaling=2.0, last_attended_idx=-1, backward_window=1, forward_window=3)[来源]

计算 AttLoc 正向传播。

参数:

enc_hs_pad(Tensor):

填充编码器隐藏状态 (B, T_max, D_enc)

enc_hs_len(Tensor):

填充编码器隐藏状态长度 (B)

dec_z(Tensor dec_z):

解码器隐藏状态 (B, D_dec)

att_prev(Tensor):

先前的注意力权重 (B, T_max)

scaling(float, optional):

在应用softmax之前的缩放参数(默认值 = 2.0)

forward_window(Tensor, optional):

在约束注意力时的前向窗口大小(默认值 = 3)

last_attended_idx(int, optional):

最近参加的输入的索引(默认值 = None)

backward_window(int, optional):

注意约束中的向后窗口大小(默认值 = 1)

forward_window(int, optional):

注意约束中的前向窗口大小 (默认值 = 3)

Returns:
Tensor:

注意加权编码器状态 (B, D_enc)

Tensor:

以前的注意力权重 (B, T_max)

reset()[来源]

重置状态