torch.nn.attention.sdpa_kernel¶
- torch.nn.attention.sdpa_kernel(backends, set_priority=False)[source][source]¶
用于选择哪个后端用于缩放点积注意力机制的上下文管理器。
警告
此功能为 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(...)
此上下文管理器可用于选择哪个后端用于缩放点积注意力机制。退出上下文管理器后,将恢复标志的先前状态,从而启用所有后端。