删除pytorch中的零维

DIG*_*R97 5 python matrix multidimensional-array pytorch

我有 torch.tensor ,其尺寸为0 x 240 x 3 x 540 x 960

我只想删除 0 维,所以我想要 pytorch 张量

尺寸为240 x 3 x 540 x 960

我曾经tensor= torch.squeeze(tensor)尝试过,但零维没有被删除......

就我而言,张量的大小是可变的,因此我无法将其硬编码为 torch.squeeze..

有没有简单的方法可以删除 pytorch.tensor 中不需要的维度?

Gul*_*zar 6

你不能。

形状张量的大小(=元素数量)0 x 240 x 3 x 540 x 960为 0。

您无法将其重塑为 shape 张量,240 x 3 x 540 x 960因为它有 373248000 个元素。

squeeze()文档:

返回一个张量,其中删除了大小为 1 的输入的所有维度。

这会删除 1 尺寸的暗淡,而不是 0 尺寸的暗淡,这是有道理的。


无论如何,原始张量中的数据量为 0,可以呈现为至少有一个零暗淡的任何形状,但不能呈现为大小 > 0 的形状。