Spec-Zone.ru › PyTorch 2.14

TransformerEncoder

class torch.nn.modules.transformer.TransformerEncoder(encoder_layer, num_layers, norm=None, enable_nested_tensor=True, mask_check=True) [исходный код]

TransformerEncoder — это стек из N слоёв энкодера.

Этот слой TransformerEncoder реализует исходную архитектуру, описанную в статье «Внимания достаточно». Этот слой предназначен для использования в качестве эталонной реализации, помогающей понять основы, поэтому по сравнению с более новыми архитектурами Transformer он обладает ограниченным набором возможностей. Учитывая быстрый темп развития архитектур, подобных Transformer, рекомендуем ознакомиться с этим руководством, чтобы создавать эффективные слои из базовых блоков ядра или использовать высокоуровневые библиотеки из экосистемы PyTorch.

Предупреждение

Все слои в TransformerEncoder инициализируются с одинаковыми параметрами. Рекомендуется вручную инициализировать слои после создания экземпляра TransformerEncoder.

Параметры:
  • encoder_layer (TransformerEncoderLayer) – экземпляр класса TransformerEncoderLayer() (обязательный).
  • num_layers (int) – количество подслоёв энкодера (обязательный).
  • norm (Module | None) – компонент нормализации слоя (необязательный).
  • enable_nested_tensor (bool) – если значение равно True, входные данные будут автоматически преобразованы во вложенный тензор (и преобразованы обратно при выводе). Это повысит общую производительность TransformerEncoder при высокой доле дополнения до нужной длины. По умолчанию: True (включено).

Примеры

>>> encoder_layer = nn.TransformerEncoderLayer(
...     d_model=512, nhead=8, batch_first=True
... )
>>> transformer_encoder = nn.TransformerEncoder(encoder_layer, num_layers=6)
>>> src = torch.rand(32, 10, 512)
>>> out = transformer_encoder(src)
forward(src, mask=None, src_key_padding_mask=None, is_causal=None) [исходный код]

Последовательно передаёт входные данные через слои энкодера.

Параметры:
  • src (Tensor) – последовательность для энкодера (обязательный).
  • mask (Tensor | None) – маска для последовательности src (необязательный).
  • src_key_padding_mask (Tensor | None) – маска для ключей src в каждом элементе пакета (необязательный).
  • is_causal (bool | None) – если указано, применяет причинную маску в качестве mask. По умолчанию: None; попытаться обнаружить причинную маску. Предупреждение: is_causal указывает на то, что mask является причинной маской. Неверно заданные подсказки могут привести к неправильному выполнению, в том числе к проблемам прямой и обратной совместимости.
Тип возвращаемого значения:

Tensor

Форма:

см. документацию по Transformer.

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.modules.transformer.TransformerEncoder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API