megengine.functional.transpose¶
- transpose(inp, pattern)[源代码]¶
根据给定模板交换形状和步长(stride)。
- 参数
inp (
Tensor
) – 输入张量。pattern (
Iterable
[int
]) – 一个由 0、1、…、ndim
-1 的整数和任意个的'x'
字符组成的列表,其中'x'
表示在对应位置插入一个维度。 例如: * ('x'
) -> 将一个0维向量(标量) 放入一个1维向量中 * (0, 1) -> 等价的2维向量 * (1, 0) -> 将第一维和第二维互换 * ('x'
, 0) -> 将1维向量 (N to 1xN) 中的数排成一行 * (0,'x'
) -> 用一维向量创建一个列 (N to Nx1) * (2, 0, 1) -> AxBxC 变为 CxAxB * (0,'x'
, 1) -> AxB 变为 Ax1xB * (1,'x'
, 0) -> AxB 变为 Bx1xA * (1,) -> 这样就删除了第0维。最终一定变为可以广播的维度 (1xA to A)。
- 返回类型
- 返回
输出张量。
实际案例
>>> import numpy as np >>> x = Tensor(np.array([[1, 1], [0, 0]], dtype=np.int32)) >>> F.transpose(x, (1, 0)) Tensor([[1 0] [1 0]], dtype=int32, device=xpux:0)