- 接口功能:
swapLast2AxesGetWorkspaceSize:计算swapLast2Axes算子所需的workspace大小。
swapLast2Axes:交换Tensor的最后两维。 - 计算公式: 其中:b为数据的批次号,i为输入数据的行号, j为输入数据的列号。
示例:
- 示例一:
输入“inTensor”为:
[[[1.+0.j, 2.+0.j, 3.+0.j]]]
调用swapLast2Axes算子后,输出“outTensor”为:
[[[1.+0.j], [2.+0.j], [3.+0.j]]] - 示例二:
输入“inTensor”为:
[[[ 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]]]
若需使用“swapLast2Axes”算子,必须先调用“swapLast2AxesGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“swapLast2Axes”接口执行计算。
[object Object]
[object Object]
算子实际计算时,不支持ND高维度运算(不支持维度>3的运算)。
示例代码如下,该样例旨在提供快速上手、开发和调试算子的最小化实现,其核心目标是使用最精简的代码展示算子的核心功能,而非提供生产级的安全保障。不推荐用户直接将示例代码作为业务代码,若用户将示例代码应用在自身的真实业务场景中且发生了安全问题,则需用户自行承担。
[object Object]