我坚持如何将(1000,1,17)张量转换为(1000,17)张量。
我尝试使用sofar的是reshape
并按照我在其他答案中看到的转置,但我无法弄清楚它们是如何工作的。
我尝试这个(动作是我原来的3d张量)
actions.transpose(2,0,1).reshape(3,-1)
请提供详细信息,因为oneliner对理解没有多大帮助。
答案 0 :(得分:1)
如果你想通过reshape
进行,那就
actions.reshape([1000, 17])
你只需要传递新的形状。我不知道你为什么试图使用transpose
或传递3
和-1
作为参数。 docs很清楚。
而不是reshape
,它可能更容易索引长度为1的维度:
actions[:, 0]
相反的是
arr.reshape([1000, 1, 17])
或
arr[:, None]
还有np.squeeze
,它提供了一个删除了所有长度为1的数组的视图,但这可以删除比您真正想要的更多的维度。