[英]Calculate mean across one specific dimension of a 4D tensor in Pytorch
我有一个形状为[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]。
非常感谢。
问题的第一部分已在评论部分回答。 所以我们可以使用tensor.transpose([3,0,1,2])
将张量转换为形状[1024,66,7,7]
。
现在可以通过torch.mean(my_tensor, dim=1)
获取时间维度上的torch.mean(my_tensor, dim=1)
这将给出形状为[1024,7,7]
的 3D 张量。 要获得形状为[1024,1,7,7]
的张量,我必须在维度 = 1 中[1024,1,7,7]
:
tensor = tensor.unsqueeze(1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.