我有一个张量,它是在一组运算中产生的中间结果。这是一个二维矩阵(张量),我想重塑成三维,但在一个特定的方式。我怎么能这么做
这是一个例子。K的形状=[10,12]。我想把它转换成(3x10x4)矩阵,这里我的批大小=3,序列长度=4。简言之,其实质是沿着列(垂直方向)在(3(4之前)、7(8之前)之后的位置拆分一个二维矩阵,因为我的序列长度=4),因此我们最终得到3个大小为10 X 4的矩阵,当这些矩阵组合在一起时,就变成了三维矩阵(3 X 10 X 4)。如有任何建议,我们将不胜感激
K = array([[1, 9, 5, 9, 9, 2, 0, 9, 1, 9, 0, 6],
[0, 4, 8, 4, 3, 3, 8, 8, 7, 0, 3, 8],
[7, 7, 1, 8, 4, 7, 0, 4, 9, 0, 6, 4],
[2, 4, 6, 3, 3, 7, 8, 5, 0, 8, 5, 4],
[7, 4, 1, 3, 3, 9, 2, 5, 2, 3, 5, 7],
[2, 7, 1, 6, 5, 0, 0, 3, 1, 9, 9, 6],
[6, 7, 8, 8, 7, 0, 8, 6, 8, 9, 8, 3],
[6, 1, 7, 4, 9, 2, 0, 8, 2, 7, 8, 4],
[4, 1, 7, 6, 9, 4, 1, 5, 9, 7, 1, 3],
[5, 7, 3, 6, 6, 7, 9, 1, 9, 6, 0, 3]])
#### I am expecting it to reshaped as follows
K_new = [ 1, 9, 5, 9,
0, 4, 8, 4,
7, 7, 1, 8,
2, 4, 6, 3,
7, 4, 1, 3,
2, 7, 1, 6,
6, 7, 8, 8,
6, 1, 7, 4,
4, 1, 7, 6,
5, 7, 3, 6,
9, 2, 0, 9,
3, 3, 8, 8,
4, 7, 0, 4,
3, 7, 8, 5,
3, 9, 2, 5,
5, 0, 0, 3,
7, 0, 8, 6,
9, 2, 0, 8,
9, 4, 1, 5,
6, 7, 9, 1,
1, 9, 0, 6
7, 0, 3, 8
9, 0, 6, 4
0, 8, 5, 4
2, 3, 5, 7
1, 9, 9, 6
8, 9, 8, 3
2, 7, 8, 4
9, 7, 1, 3
9, 6, 0, 3 ]
我们可以使用tf.split。这可以通过
相关问题 更多 >
编程相关推荐