调整 pytorch 中的 RGB 张量大小

3
我想在PyTorch中调整一个3-D RGB张量的大小。我知道如何调整4-D张量的大小,但不幸的是这种方法不适用于3-D。
输入如下:
#input shape: [3, 100, 200]   ---> desired output shape: [3, 80, 120]

如果我有一个四维向量,它可以正常工作。
#input shape: [2, 3, 100, 200]
out = torch.nn.functional.interpolate(T,size=(100,80), mode='bilinear')

任何建议?先谢谢了!

2
只需对输入执行.unsqueeze(0),并对输出执行.squeeze(0)。所有torch.nn函数都假定dim 0是批处理维度。为dim 0添加一个单位维度只是使函数在批处理大小为1的情况下运行。 - jodag
谢谢,这正是我在寻找的! - appleUserK
1个回答

3

感谢 jodag,我找到了答案:

# input shape [3, 200, 120]
T = T.unsqueeze(0)
T = torch.nn.functional.interpolate(T,size=(100,80), mode='bilinear')
T = T.squeeze(0)
# output shape [3, 100, 80]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接