fastNLP.modules.encoder.transformer module

undocumented

class fastNLP.modules.encoder.transformer.TransformerEncoder(num_layers, d_model=512, n_head=8, dim_ff=2048, dropout=0.1)[源代码]

基类:torch.nn.modules.module.Module

别名 fastNLP.modules.TransformerEncoder fastNLP.modules.encoder.TransformerEncoder

transformer的encoder模块,不包含embedding层

__init__(num_layers, d_model=512, n_head=8, dim_ff=2048, dropout=0.1)[源代码]
参数
  • num_layers (int) – 多少层Transformer

  • d_model (int) – input和output的大小

  • n_head (int) – 多少个head

  • dim_ff (int) – FFN中间hidden大小

  • dropout (float) – 多大概率drop attention和ffn中间的表示

forward(x, seq_mask=None)[源代码]
参数
  • x – [batch, seq_len, model_size] 输入序列

  • seq_mask – [batch, seq_len] 输入序列的padding mask, 若为 None , 生成全1向量. 为1的地方需要attend Default: None

返回

[batch, seq_len, model_size] 输出序列

training: bool