繁体   English   中英

在 Pytorch 中计算 4D 张量的一个特定维度的平均值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM