捷徑

torch.nn.attention.sdpa_kernel

torch.nn.attention.sdpa_kernel(backends, set_priority=False)[source][source]

用於選擇要用於縮放點積注意力 (scaled dot product attention) 的後端的內容管理器。

警告

此功能為 Beta 版,可能會變更。

參數
  • backends (Union[List[SDPBackend], SDPBackend]) – 縮放點積注意力的後端或後端清單。

  • set_priority_order (python:bool=False) – 是否將後端的排序解釋為其優先順序。

範例

from torch.nn.functional import scaled_dot_product_attention
from torch.nn.attention import SDPBackend, sdpa_kernel
# Only enable flash attention backend
with sdpa_kernel(SDPBackend.FLASH_ATTENTION):
    scaled_dot_product_attention(...)

# Enable the Math or Efficient attention backends
with sdpa_kernel([SDPBackend.MATH, SDPBackend.EFFICIENT_ATTENTION]):
    scaled_dot_product_attention(...)

這個上下文管理器可以用來選擇用於縮放點積注意力機制的後端。 退出上下文管理器後,標誌的先前狀態將被恢復,從而啟用所有後端。

文件

獲取 PyTorch 的完整開發者文件

檢視文件

教學

獲取針對初學者和進階開發者的深度教學

檢視教學

資源

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

檢視資源