Transformer编码器¶
- class torch.nn.TransformerEncoder(encoder_layer, num_layers, norm=None, enable_nested_tensor=True, mask_check=True)[源代码]¶
TransformerEncoder 是由 N 个编码器层组成的堆栈。
用户可以构建BERT(https://arxiv.org/abs/1810.04805)模型,并使用相应的参数。
- Parameters
encoder_layer (TransformerEncoderLayer) – TransformerEncoderLayer() 类的一个实例(必需)。
num_layers (int) – 编码器中子编码器层的数量(必需)。
enable_nested_tensor (bool) – 如果为True,输入将自动转换为嵌套张量(并在输出时转换回来)。这将提高TransformerEncoder在高填充率时的整体性能。默认值:
True
(启用)。
- Examples::
>>> encoder_layer = nn.TransformerEncoderLayer(d_model=512, nhead=8) >>> transformer_encoder = nn.TransformerEncoder(encoder_layer, num_layers=6) >>> src = torch.rand(10, 32, 512) >>> out = transformer_encoder(src)
- forward(src, mask=None, src_key_padding_mask=None, is_causal=None)[源代码]¶
依次通过编码器层传递输入。
- Parameters
- Return type
- Shape:
查看
Transformer
文档。