torch.nn.attention.sdpa_kernel#
- torch.nn.attention.sdpa_kernel(backends, set_priority=False)[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(...)
此上下文管理器可用於選擇縮放點積注意力要使用的後端。退出上下文管理器時,將恢復標誌的先前狀態,從而啟用所有後端。