swapLast2Axes
功能描述
计算公式
- 计算公式:
,其中:b为数据的批次号,i为输入数据的行号, j为输入数据的列号。
- 示例:
- 示例一:
[[1.+0.j, 2.+0.j, 3.+0.j]],
调用swapLast2Axes算子后,
输出“outTensor”为:
[[1.+0.j], [2.+0.j], [3.+0.j]].
- 示例二:
[[[ 0.+0.j, 1.+0.j, 2.+0.j], [ 3.+0.j, 4.+0.j, 5.+0.j]], [[ 6.+0.j, 7.+0.j, 8.+0.j], [ 9.+0.j, 10.+0.j, 11.+0.j]]],
调用swapLast2Axes算子后,
输出“outTensor”为:
[[[ 0.+0.j, 3.+0.j], [ 1.+0.j, 4.+0.j], [ 2.+0.j, 5.+0.j]], [[ 6.+0.j, 9.+0.j], [ 7.+0.j, 10.+0.j], [ 8.+0.j, 11.+0.j]]].
- 示例一:
接口原型
- AsdSip::AspbStatus swapLast2AxesGetWorkspaceSize(const aclTensor *inTensor, aclTensor *outTensor, size_t *size)
- AsdSip::AspbStatus swapLast2Axes(const aclTensor *inTensor, aclTensor *outTensor, void *stream,void *workspace = nullptr)
参数列表
- swapLast2AxesGetWorkspaceSize
参数名称
Input/Output
类型
描述
inTensor
Input
const aclTensor *
公式中的inTensor,Device侧的Tensor,输入dim限制为2或3,输入的最大元素数为3600000000,数据类型仅支持COMPLEX64,数据格式支持ND。
outTensor
Input
aclTensor *
公式中的outTensor,Device侧的Tensor,数据类型仅支持COMPLEX64,如果inTensor的shape为[k,x,y],outTensor的shape为[k,y,x],数据类型需要与inTensor的数据类型一致,数据格式支持ND。
workspaceSize
Input
size_t *
swapLast2Axes算子所需要的workspace。
- swapLast2Axes
参数名称
Input/Output
类型
描述
inTensor
Input
const aclTensor *
公式中的inTensor,Device侧的Tensor,输入dim限制为2或3,输入的最大元素数为3600000000,数据类型仅支持COMPLEX64,数据格式支持ND。
outTensor
Output
aclTensor *
公式中的outTensor,Device侧的Tensor,数据类型仅支持COMPLEX64,如果inTensor的shape为[k,x,y],outTensor的shape为[k,y,x],数据类型需要与inTensor的数据类型一致,数据格式支持ND。
stream
Input
void*
npu执行流。
workspaceSize
Input
void *
swapLast2Axes算子所需要的workspace。
规格约束
- swapLast2AxesGetWorkspaceSize:无。
- swapLast2Axes
- 输入的最大元素数为3600000000 ([60000, 60000]以内);
- 算子输入shape若为[k,x,y],则算子输出shape为[k,y,x];
- 算子实际计算时,不支持ND高维度运算(不支持维度>3的运算)。