PreLNTransformerLayers
- class rectools.models.nn.transformers.net_blocks.PreLNTransformerLayers(n_blocks: int, n_factors: int, n_heads: int, dropout_rate: float, ff_factors_multiplier: int = 4, **kwargs: Any)[source]
Bases:
TransformerLayersBasePre-LN Transformer blocks.
- Parameters
n_blocks (int) – Number of transformer blocks.
n_factors (int) – Latent embeddings size.
n_heads (int) – Number of attention heads.
dropout_rate (float) – Probability of a hidden unit to be zeroed.
ff_factors_multiplier (int) – Feed-forward layers latent embedding size multiplier.
kwargs (Any) –
Methods
forward(seqs, timeline_mask, attn_mask, ...)Forward pass through transformer blocks.
Attributes
- forward(seqs: Tensor, timeline_mask: Tensor, attn_mask: Optional[Tensor], key_padding_mask: Optional[Tensor], **kwargs: Any) Tensor[source]
Forward pass through transformer blocks.
- Parameters
seqs (torch.Tensor) – User sequences of item embeddings.
timeline_mask (torch.Tensor) – Mask indicating padding elements.
attn_mask (torch.Tensor, optional) – Optional mask to use in forward pass of multi-head attention as attn_mask.
key_padding_mask (torch.Tensor, optional) – Optional mask to use in forward pass of multi-head attention as key_padding_mask.
kwargs (Any) –
- Returns
User sequences passed through transformer layers.
- Return type
torch.Tensor