Spec-Zone.ru › PyTorch 2.14

TransformerDecoder

class torch.nn.modules.transformer.TransformerDecoder(decoder_layer, num_layers, norm=None) [source]

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

Этот слой TransformerDecoder реализует исходную архитектуру, описанную в статье Attention Is All You Need. Этот слой предназначен для использования в качестве эталонной реализации, помогающей освоить основы, поэтому он обладает лишь ограниченным набором возможностей по сравнению с более новыми архитектурами Transformer. Учитывая быстрый темп развития архитектур, подобных Transformer, рекомендуем изучить этот учебник, чтобы создавать эффективные слои из базовых компонентов ядра или использовать библиотеки более высокого уровня из экосистемы PyTorch.

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

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

Параметры:
  • decoder_layer (TransformerDecoderLayer) – экземпляр класса TransformerDecoderLayer() (обязательный).
  • num_layers (int) – количество подслоёв декодера (обязательный).
  • norm (Module | None) – компонент нормализации слоя (необязательный).

Примеры

>>> decoder_layer = nn.TransformerDecoderLayer(d_model=512, nhead=8)
>>> transformer_decoder = nn.TransformerDecoder(decoder_layer, num_layers=6)
>>> memory = torch.rand(10, 32, 512)
>>> tgt = torch.rand(20, 32, 512)
>>> out = transformer_decoder(tgt, memory)
forward(tgt, memory, tgt_mask=None, memory_mask=None, tgt_key_padding_mask=None, memory_key_padding_mask=None, tgt_is_causal=None, memory_is_causal=False) [source]

Поочерёдно передаёт входные данные (и маску) через слои декодера.

Параметры:
  • tgt (Tensor) – последовательность для декодера (обязательная).
  • memory (Tensor) – последовательность с последнего слоя кодировщика (обязательная).
  • tgt_mask (Tensor | None) – маска для последовательности tgt (необязательная).
  • memory_mask (Tensor | None) – маска для последовательности memory (необязательная).
  • tgt_key_padding_mask (Tensor | None) – маска ключей tgt для каждого элемента пакета (необязательная).
  • memory_key_padding_mask (Tensor | None) – маска ключей memory для каждого элемента пакета (необязательная).
  • tgt_is_causal (bool | None) – Если указано, применяет причинную маску в соответствии с tgt mask. По умолчанию: None; попытаться определить причинную маску. Предупреждение: tgt_is_causal задаёт подсказку о том, что tgt_mask является причинной маской. Неверные подсказки могут привести к некорректному выполнению, в том числе к проблемам прямой и обратной совместимости.
  • memory_is_causal (bool) – Если указано, применяет причинную маску в соответствии с memory mask. По умолчанию: False. Предупреждение: memory_is_causal задаёт подсказку о том, что memory_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.TransformerDecoder.html

Spec-Zone.ru

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