捷徑

TransformerEncoder

class torch.nn.TransformerEncoder(encoder_layer, num_layers, norm=None, enable_nested_tensor=True, mask_check=True)[原始碼][原始碼]

TransformerEncoder 是一個 N 編碼器層的堆疊。

注意

請參閱 本教學課程,深入討論 PyTorch 為構建您自己的 Transformer 層提供的效能良好的構建模組。

使用者可以使用對應的參數構建 BERT (https://arxiv.org/abs/1810.04805) 模型。

參數
  • encoder_layer (TransformerEncoderLayer) – TransformerEncoderLayer() 類別的一個實例 (必要)。

  • num_layers (int) – 編碼器中的子編碼器層數量 (必要)。

  • norm (Optional[Module]) – 層歸一化元件 (可選)。

  • 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)[source][source]

依次將輸入傳遞到編碼器層。

參數
  • src (Tensor) – 要編碼的序列 (必要)。

  • mask (Optional[Tensor]) – src 序列的遮罩 (可選)。

  • src_key_padding_mask (Optional[Tensor]) – 每個批次 src 鍵的遮罩 (可選)。

  • is_causal (Optional[bool]) – 如果指定,則將因果遮罩作為 mask 應用。 預設值: None; 嘗試檢測因果遮罩。 警告: is_causal 提供 mask 是因果遮罩的提示。 提供不正確的提示可能會導致不正確的執行,包括向前和向後相容性。

回傳類型

Tensor

形狀

請參閱 Transformer 中的文件。

文件

取得 PyTorch 的完整開發人員文件

檢視文件

教學課程

取得針對初學者和高級開發人員的深入教學課程

檢視教學課程

資源

尋找開發資源並取得問題解答

檢視資源