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

2024-04-25 21:57:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个PyTorch视频特征张量的形状[66,7,7,1024],我需要把它转换成[1024,66,7,7]。如何重新排列张量形状?另外,如何执行跨dimension=1的平均值?i、 例如,在执行了尺寸为66的维的平均值之后,我需要张量为[1024,1,7,7]。你知道吗

我曾试图计算维度=1的平均值,但未能用平均值代替它。我无法想象一个四维张量,其中一维被它的平均值所取代。你知道吗

编辑: 我试过了火炬。平均(我的张量,dim=1)。但这给了我一个形状张量[1024,7,7]。四维张量正在转换成三维,但我希望它保持四维的形状[1024,1,7,7]。你知道吗

非常感谢。你知道吗


Tags: 编辑视频尺寸pytorch特征平均值火炬形状
1条回答
网友
1楼 · 发布于 2024-04-25 21:57:56

问题的第一部分已在评论部分得到答复。所以我们可以用tensor.transpose([3,0,1,2])把张量转换成[1024,66,7,7]形状。你知道吗

现在时间维度上的平均值可以由 torch.mean(my_tensor, dim=1) 这将给出形状为[1024,7,7]的三维张量。 为了得到一个[1024,1,7,7]形状的张量,我必须在维度=1中解压:

tensor = tensor.unsqueeze(1)

相关问题 更多 >