【发布时间】:2020-04-13 13:57:18
【问题描述】:
我有一个形状为 [66,7,7,1024] 的 PyTorch 视频特征张量,我需要将其转换为 [1024,66,7,7]。如何重新排列张量形状?另外,如何在dimension=1 中执行均值?即,在执行尺寸为 66 的平均之后,我需要张量为 [1024,1,7,7]。
我尝试计算维度=1 的平均值,但未能将其替换为平均值。我无法想象一个 4D 张量,其中一维被其均值取代。
编辑: 我试过torch.mean(my_tensor,dim = 1)。但这会给我返回一个形状为 [1024,7,7] 的张量。 4D 张量正在转换为 3D。但我希望它保持 4D 形状,形状为 [1024,1,7,7]。
非常感谢。
【问题讨论】:
-
查看
numpy.transpose。新轴将是 -(3,0,1,2)或(3,0,2,1)。 -
@Divakar transpose 给了我 (3,1,2,0)。我做错了吗?
-
我的意思是
np.transpose(a,(3,0,1,2)),a是输入数组。另外,在 PyTorch 中检查numpy.transpose的等价物。另外,不确定您所说的转置给您 (3,1,2,0) 是什么意思。 -
我可以使用
torch.from_numpy(my_numpy_features.transpose([3,0,1,2]))将形状[3,0,1,2]从 numpy 转换为张量。 -
将
keepdim=True与mean方法一起使用。
标签: python numpy computer-vision pytorch tensor