SwinTransformerLnQKV

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT ×
Atlas A3 训练系列产品/Atlas A3 推理系列产品 ×
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能:完成fp16权重场景下的Swin Transformer 网络模型的Q、K、V 的计算。

  • 计算公式:

    (Q,K,V)=((Layernorm(inputX)).transpose()∗weight).transpose().split()(Q,K,V)=((Layernorm(inputX)).transpose() * weight).transpose().split()

    其中,weight 是 Q、K、V 三个矩阵权重的拼接。

参数说明

参数名 输入/输出 描述 数据类型 数据格式
inputX 输入 表示待进行归一化计算的目标张量,公式中的inputX, Device侧的aclTensor,数据类型支持FLOAT16。只支持维度为[B,S,H],其中B为batch size且只支持[1,32],S为原始图像长宽的乘积,H为序列长度和通道数的乘积且小于等于1024。不支持非连续的Tensor。 FLOAT16 ND
gamma 输入 表示layernorm计算中尺度缩放的大小,维度只支持1维且为[H],Device侧的aclTensor。不支持非连续的Tensor。 FLOAT16 ND
beta 输入 表示layernorm计算中尺度偏移的大小,维度只支持1维且维度为[H],Device侧的aclTensor。不支持非连续的Tensor。 FLOAT16、BFLOAT16、INT8 ND
weight 输入 表示目标张量转换使用的权重矩阵,维度只支持2维且维度为[H, 3 * H],Device侧的aclTensor。不支持非连续的Tensor。 FLOAT16 ND
bias 输入 表示目标张量转换使用的偏移矩阵,维度只支持1维且维度为[3 * H],Device侧的aclTensor。不支持非连续的Tensor。 FLOAT16 ND
query_output 输出 表示转换之后的张量,公式中的Q,Device侧的aclTensor。不支持非连续的Tensor。 FLOAT16 ND
key_output 输出 表示转换之后的张量,公式中的K,Device侧的aclTensor。不支持非连续的Tensor。 FLOAT16 ND
value_output 输出 表示转换之后的张量,公式中的V,Device侧的aclTensor。不支持非连续的Tensor。 FLOAT16 ND
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:数据类型支持FLOAT16。

约束说明

  • 当前不支持用户直接调用