paddlespeech.t2s.modules.conv 模块

class paddlespeech.t2s.modules.conv.Conv1dBatchNorm(in_channels, out_channels, kernel_size, stride=1, padding=0, weight_attr=None, bias_attr=None, data_format='NCL', momentum=0.9, epsilon=1e-05)[来源]

基础: Layer

一个Conv1D层后接一个BatchNorm1D。

Args:
in_channels (int):

输入的特征大小。

out_channels (int):

输出的特征大小。

kernel_size (int):

卷积核的大小。

stride (int, optional):

卷积的步幅,默认为1。

padding (int, str or Tuple[int], optional):

卷积的填充。 如果是整数,则在卷积之前应用对称填充; 如果是字符串,则应为“same”或“valid”; 如果是元组,长度应为2,意思是 (pad_before, pad_after),默认值为0。

weight_attr (ParamAttr, Initializer, str or bool, optional):

卷积核的参数属性,默认为 None。

bias_attr (ParamAttr, Initializer, str or bool, optional):

卷积的偏置参数属性,默认值为None。

data_format (str ["NCL" or "NLC"], optional):

输入的数据布局,默认为 "NCL"

momentum (float, optional):

BatchNorm1D层的动量,默认为0.9

epsilon (float, optional):

BatchNorm1D层的epsilon,默认值为1e-05

方法

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

Conv1dBatchNorm层的前向传播。

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)[来源]

Conv1dBatchNorm层的前向传播。

Args:
x (Tensor):

输入张量。其数据布局取决于 data_format. 形状=(B, C_in, T_in) 或 (B, T_in, C_in)

Returns:
Tensor:

输出张量。形状=(B, C_out, T_out) 或 (B, T_out, C_out)

class paddlespeech.t2s.modules.conv.Conv1dCell(in_channels, out_channels, kernel_size, dilation=1, weight_attr=None, bias_attr=None)[来源]

基础: Conv1D

Conv1D层的一个子类,可以用在像RNN单元这样的自回归解码器中。

在自回归解码中,它逐步执行因果时间卷积。在每个时间步骤中,它接受一个输入步骤并返回一个输出步骤。

备注

这是通过缓存一个长度为 receptive_file - 1 的内部缓冲区来完成的。当添加一个步骤输入时,缓冲区向前移动一个步骤,最新的输入被添加到缓冲区中,最旧的步骤被丢弃。并且它返回一个步骤输出。对于单步骤情况,卷积等同于线性变换。是否能作为一个单元使用取决于几个限制条件: 1. 步幅(stride)必须为1; 2. 填充(padding)必须是因果填充(recpetive_field - 1, 0)。因此,这些参数从该类的 __init__ 方法中移除。

Args:
in_channels (int):

输入的特征大小。

out_channels (int):

输出的特征大小。

kernel_size (int or Tuple[int]):

核的大小。

dilation (int or Tuple[int]):

卷积的膨胀,默认为1

weight_attr (ParamAttr, Initializer, str or bool, optional):

卷积核的参数属性,默认值为 None。

bias_attr (ParamAttr, Initializer, str or bool, optional):

偏置的参数属性。 如果 False, 这个层没有偏置,默认为 None。

Examples:
>>> cell = Conv1dCell(3, 4, kernel_size=5)
>>> inputs = [paddle.randn([4, 3]) for _ in range(16)]
>>> outputs = []
>>> cell.eval()
>>> cell.start_sequence()
>>> for xt in inputs:
>>>     outputs.append(cell.add_input(xt))
>>> len(outputs))
16
>>> outputs[0].shape
[4, 4]
Attributes:
receptive_field

Conv1dCell的感受野。

方法

__call__(*inputs, **kwargs)

将self作为一个函数调用。

add_input(x_t)

添加步骤输入并计算步骤输出。

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)

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

full_name()

此层的完整名称,由 name_scope + "/" + MyLayer.__class__.__name__ 组成

initialize_buffer(x_t)

初始化步输入的缓冲区。

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设置参数和持久化缓冲区。

start_sequence()

为一系列增量前向准备层。

state_dict([destination, include_sublayers, ...])

获取当前层及其子层的所有参数和可持久化缓冲区。

sublayers([include_self])

返回子层的列表。

to([device, dtype, blocking])

通过给定的设备、数据类型和阻塞方式转换层的参数和缓冲区。

to_static_state_dict([destination, ...])

获取当前层及其子层的所有参数和缓冲区。

train()

将此层及其所有子层设置为训练模式。

update_buffer(x_t)

将缓冲区移动一步。

向后

注册状态字典钩子

add_input(x_t)[来源]

添加步骤输入并计算步骤输出。

Args:
x_t (Tensor):

步骤输入。形状=(batch_size, in_channels)

Returns:
y_t (Tensor):

步骤输出。形状=(batch_size, out_channels)

initialize_buffer(x_t)[来源]

初始化步进输入的缓冲区。

Args:
x_t (Tensor):

步长输入。形状=(batch_size, in_channels)

property receptive_field

Conv1dCell的感受野。

start_sequence()[来源]

为一系列逐步向前的操作准备层。

Warnings:

此方法应在一系列对 add_input的调用之前调用。

Raises:
Exception

如果在层处于训练模式时调用此方法。

update_buffer(x_t)[来源]

将缓冲区向前移动一步。

Args:
x_t (Tensor): T

步长输入。形状=(批量大小, 输入通道)