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()将此层及其所有子层设置为训练模式。
向后
注册状态字典钩子
- class paddlespeech.t2s.modules.conv.Conv1dCell(in_channels, out_channels, kernel_size, dilation=1, weight_attr=None, bias_attr=None)[来源]
基础:
Conv1DConv1D层的一个子类,可以用在像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_fieldConv1dCell的感受野。
方法
__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设置参数和持久化缓冲区。
为一系列增量前向准备层。
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)
- property receptive_field
Conv1dCell的感受野。