paddlespeech.s2t.modules.embedding 模块

位置编码模块。

class paddlespeech.s2t.modules.embedding.NoPositionalEncoding(d_model: int, dropout_rate: float, max_len: int = 5000, reverse: bool = False)[来源]

基础: Layer, PositionalEncodingInterface

方法

__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[, offset])

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

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])

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

position_encoding(offset, size)

用于以流式方式获取编码 参数: offset (int):起始偏移量 size (int):所需的位置编码大小 返回: paddle.Tensor:相应的位置编码

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, offset: int = 0) Tuple[Tensor, Tensor][来源]

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

Parameters:

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

position_encoding(offset: int, size: int) Tensor[来源]

以流式方式获取编码
参数:

offset (int):起始偏移量
size (int):位置编码所需的大小

Returns:

paddle.Tensor:对应的位置编码

class paddlespeech.s2t.modules.embedding.PositionalEncoding(d_model: int, dropout_rate: float, max_len: int = 5000, reverse: bool = False)[来源]

基础: Layer, PositionalEncodingInterface

方法

__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[, offset])

添加位置编码。 参数: x (paddle.Tensor): 输入。其形状为 (batch, time, ...) offset (int): 位置偏移 返回: paddle.Tensor: 编码后的张量。其形状为 (batch, time, ...) paddle.Tensor: 为了兼容 RelPositionalEncoding, (batch=1, time, ...).

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])

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

position_encoding(offset, size)

为了以流媒体方式获取编码注意!!!! 我们在非流媒体方式下只在整个话语级别应用一次丢弃,但在流媒体场景中会多次调用此函数,随着输入大小的增加,因此丢弃会被应用多次。 参数: offset (int): 起始偏移量 size (int): 所需的位置编码大小 返回: paddle.Tensor: 对应的位置编码, #[1, T, D].

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, offset: int = 0) Tuple[Tensor, Tensor][来源]

添加位置编码。参数:

x (paddle.Tensor): 输入。它的形状是 (batch, time, ...) offset (int): 位置偏移

Returns:

paddle.Tensor:编码后的张量。它的形状是 (batch, time, ...) paddle.Tensor:为了与 RelPositionalEncoding 兼容,(batch=1, time, ...)

position_encoding(offset: int, size: int) Tensor[来源]

以流式方式获取编码
注意!!!!!
我们仅在非流式的情况下对整个话语级别应用一次dropout,但在流式场景中会多次调用此函数,输入大小逐渐增大,因此dropout将会多次应用。
参数:

offset (int):起始偏移量size (int):位置编码所需的大小

Returns:

paddle.Tensor: 相应的位置编码, #[1, T, D].

class paddlespeech.s2t.modules.embedding.PositionalEncodingInterface[来源]

基础: object

方法

forward(x[, offset])

计算位置编码。参数: x (paddle.Tensor): 输入张量 (batch, time, *)。返回: paddle.Tensor: 编码张量 (batch, time, *)。 paddle.Tensor: 位置嵌入张量 (1, time, *)。

position_encoding(offset, size)

用于以流式方式获取编码 参数: offset (int):起始偏移量 size (int):所需的位置编码大小 返回: paddle.Tensor:相应的位置编码

forward(x: Tensor, offset: int = 0) Tuple[Tensor, Tensor][来源]

计算位置编码。

x (paddle.Tensor): 输入张量 (批次, 时间, *).

Returns:

paddle.Tensor: 编码张量 (批次, 时间, *)。
paddle.Tensor: 位置嵌入张量 (1, 时间, *)。

position_encoding(offset: int, size: int) Tensor[来源]

以流式方式获取编码参数:

offset (int):起始偏移量size (int):位置编码所需的大小

Returns:

paddle.Tensor:对应的位置编码

class paddlespeech.s2t.modules.embedding.RelPositionalEncoding(d_model: int, dropout_rate: float, max_len: int = 5000)[来源]

基础: PositionalEncoding

相对位置编码模块。
见:https://arxiv.org/abs/1901.02860中的附录B

方法

__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[, offset])

计算位置编码。 参数: x (paddle.Tensor): 输入张量 (batch, time, *)。 返回: paddle.Tensor: 编码张量 (batch, time, *)。 paddle.Tensor: 位置嵌入张量 (1, time, *)。

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])

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

position_encoding(offset, size)

为了以流式方式获取编码注意!!!! 我们仅在非流式的整个话语级别应用一次dropout,但将在流式场景中多次以增加的输入大小调用此函数,因此dropout将被应用多次。参数: offset (int): 开始偏移量 size (int): 位置编码所需的大小 返回: paddle.Tensor: 对应的位置编码,#[1, T, D]。

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, offset: int = 0) Tuple[Tensor, Tensor][来源]

计算位置编码。

x (paddle.Tensor): 输入张量 (batch, time, *).

Returns:

paddle.Tensor: 编码张量 (batch, time, *)。
paddle.Tensor: 位置嵌入张量 (1, time, *)。