TransformerEncoder
-
class torch.nn.TransformerEncoder(encoder_layer, num_layers, norm=None, enable_nested_tensor=True, mask_check=True)[source] -
TransformerEncoder — это стопка из N слоёв энкодеров. Пользователи могут построить модель BERT(https://arxiv.org/abs/1810.04805) с соответствующими параметрами.
- Параметры:
-
- encoder_layer — экземпляр класса TransformerEncoderLayer() (обязательно).
- num_layers — количество подслоёв энкодера (обязательно).
- norm — компонент нормализации слоя (необязательно).
-
enable_nested_tensor — если 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)[source] -
Передаёт входные данные через слои энкодера по очереди.
- Параметры:
-
- src (Тензор) — последовательность для энкодера (обязательно).
- mask (Необязательно[Тензор]) — маска для последовательности src (необязательно).
- src_key_padding_mask (Необязательно[Тензор]) — маска для ключей src по партиям (необязательно).
- Тип возвращаемого значения:
- Форма:
-
см. документацию в классе Transformer.
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.nn.TransformerEncoder.html