我有一个形状为(5,48,15)
的张量。如何沿第0轴访问元素并仍然保持3个维度而无需重新整形。例如:
x.shape # this is (5,48,15)
m = x[0,:,:]
m.shape # This is (48,15)
m_new = m.reshape(1,48,15)
m_new.shape # This is now (1,48,15)
这可能而不需要重塑吗?
答案 0 :(得分:3)
当您使用单个整数索引轴时,与x[0, :, :]
一样,返回的数组的维数将减1。
要保留三个维度,您可以......
在建立索引的同时插入新轴:
>>> x[None, 0, :, :].shape
(1, 48, 15)
或使用切片:
>>> x[:1, :, :].shape
(1, 48, 15)
或使用花式索引:
>>> x[[0], :, :].shape
(1, 48, 15)
答案 1 :(得分:1)
选择索引必须是切片或列表(或数组):
m = x[[0],:,:]
m = x[:1,:,:]
m = x[0:1,:,:]