theano .dimshuffle
.dimshuffle
改变输入维度的顺序,返回原始变量的一个view.
输入是一个包含 \([0,1,...,ndim-1]\) 和任意数目的 \('x'\) 的组合:
例如:
- \(('x')\):将标量变成 \(1\) 维数组
- \((0, 1)\):与原始的 \(2\) 维数组相同
- \((1, 0)\):交换 \(2\) 维数组的两个维度,形状从 \(N \times M\) 变 \(M \times N\)
- \(('x', 0)\):形状从 \(N\) 变成 \(1 \times N\)
- \((0, 'x')\):形状从 \(N\) 变成 \(N \times 1\)
- \((2, 0, 1)\): 形状从 \(A \times B \times C\) 变成 \(C \times A \times B\)
- \((0, 'x', 1)\): 形状从 \(A \times B\) 变成 \(A \times 1 \times B\)
- \((1, 'x', 0)\): 形状从 \(A \times B\) 变成 \(B \times 1 \times A\)
- \((1,)\): 将第 \(0\) 维除去,除去的维度的大小必须为 \(1\)。形状从 \(1 \times A\) 变成 \(A\)