Transformer Encoder
- classtorch.nn.TransformerEncoder(encoder_layer, num_layers, norm=None, enable_nested_tensor=True, mask_check=True)[源代码]
-
TransformerEncoder 包含 N 个堆叠的编码器层。
用户可以使用相应的参数构建 BERT (https://arxiv.org/abs/1810.04805) 模型。
- 参数
-
-
encoder_layer (TransformerEncoderLayer) – 一个 TransformerEncoderLayer 类的实例(必填)。
-
num_layers (int) – 编码器中所需子编码层的数量。
-
enable_nested_tensor (bool) – 如果为 True,输入将自动转换为嵌套张量,并在输出时转回原始形式。当填充率较高时,这会提高 TransformerEncoder 的整体性能。默认值:
True
(启用)。
-
- 示例:
-
>>> 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)[源代码]
-
依次将输入传递给编码器层。
- 参数
- 返回类型
- 形状:
-
参阅
Transformer
的文档。