paddlespeech.t2s.modules.transformer.decoder_layer module
Decoder self-attention layer definition.
- class paddlespeech.t2s.modules.transformer.decoder_layer.DecoderLayer(size, self_attn, src_attn, feed_forward, dropout_rate, normalize_before=True, concat_after=False)[source]
Bases:
Layer
Single decoder layer module.
- Args:
- size (int):
Input dimension.
- self_attn (nn.Layer):
Self-attention module instance. MultiHeadedAttention instance can be used as the argument.
- src_attn (nn.Layer):
Self-attention module instance. MultiHeadedAttention instance can be used as the argument.
- feed_forward (nn.Layer):
Feed-forward module instance. PositionwiseFeedForward, MultiLayeredConv1d, or Conv1dLinear instance can be used as the argument.
- dropout_rate (float):
Dropout rate.
- normalize_before (bool):
Whether to use layer_norm before the first block.
- concat_after (bool):
Whether to concat attention layer's input and output. if True, additional linear will be applied. i.e. x -> x + linear(concat(x, att(x))) if False, no additional linear will be applied. i.e. x -> x + att(x)
Methods
__call__
(*inputs, **kwargs)Call self as a function.
add_parameter
(name, parameter)Adds a Parameter instance.
add_sublayer
(name, sublayer)Adds a sub Layer instance.
apply
(fn)Applies
fn
recursively to every sublayer (as returned by.sublayers()
) as well as self.buffers
([include_sublayers])Returns a list of all buffers from current layer and its sub-layers.
children
()Returns an iterator over immediate children layers.
clear_gradients
()Clear the gradients of all parameters for this layer.
create_parameter
(shape[, attr, dtype, ...])Create parameters for this layer.
create_tensor
([name, persistable, dtype])Create Tensor for this layer.
create_variable
([name, persistable, dtype])Create Tensor for this layer.
eval
()Sets this Layer and all its sublayers to evaluation mode.
extra_repr
()Extra representation of this layer, you can have custom implementation of your own layer.
forward
(tgt, tgt_mask, memory, memory_mask)Compute decoded features.
full_name
()Full name for this layer, composed by name_scope + "/" + MyLayer.__class__.__name__
load_dict
(state_dict[, use_structured_name])Set parameters and persistable buffers from state_dict.
named_buffers
([prefix, include_sublayers])Returns an iterator over all buffers in the Layer, yielding tuple of name and Tensor.
named_children
()Returns an iterator over immediate children layers, yielding both the name of the layer as well as the layer itself.
named_parameters
([prefix, include_sublayers])Returns an iterator over all parameters in the Layer, yielding tuple of name and parameter.
named_sublayers
([prefix, include_self, ...])Returns an iterator over all sublayers in the Layer, yielding tuple of name and sublayer.
parameters
([include_sublayers])Returns a list of all Parameters from current layer and its sub-layers.
register_buffer
(name, tensor[, persistable])Registers a tensor as buffer into the layer.
register_forward_post_hook
(hook)Register a forward post-hook for Layer.
register_forward_pre_hook
(hook)Register a forward pre-hook for Layer.
set_dict
(state_dict[, use_structured_name])Set parameters and persistable buffers from state_dict.
set_state_dict
(state_dict[, use_structured_name])Set parameters and persistable buffers from state_dict.
state_dict
([destination, include_sublayers, ...])Get all parameters and persistable buffers of current layer and its sub-layers.
sublayers
([include_self])Returns a list of sub layers.
to
([device, dtype, blocking])Cast the parameters and buffers of Layer by the give device, dtype and blocking.
to_static_state_dict
([destination, ...])Get all parameters and buffers of current layer and its sub-layers.
train
()Sets this Layer and all its sublayers to training mode.
backward
register_state_dict_hook
- forward(tgt, tgt_mask, memory, memory_mask, cache=None)[source]
Compute decoded features.
- Args:
- tgt(Tensor):
Input tensor (#batch, maxlen_out, size).
- tgt_mask(Tensor):
Mask for input tensor (#batch, maxlen_out).
- memory(Tensor):
Encoded memory, float32 (#batch, maxlen_in, size).
- memory_mask(Tensor):
Encoded memory mask (#batch, maxlen_in).
- cache(List[Tensor], optional):
List of cached tensors. Each tensor shape should be (#batch, maxlen_out - 1, size). (Default value = None)
- Returns:
- Tensor
Output tensor(#batch, maxlen_out, size).
- Tensor
Mask for output tensor (#batch, maxlen_out).
- Tensor
Encoded memory (#batch, maxlen_in, size).
- Tensor
Encoded memory mask (#batch, maxlen_in).