我有一个PyTorch张量,大小为
(5, 1, 44, 44)
(批次、通道、高度、宽度),我想将其“调整大小”为(5, 1, 224, 224)
。我该如何做?应该使用哪些函数?(5, 1, 44, 44)
(批次、通道、高度、宽度),我想将其“调整大小”为(5, 1, 224, 224)
。我该如何做?应该使用哪些函数?看起来你正在寻找插值
(位于 nn.functional
中的一个函数):interpolate
import torch.nn.functional as nnf
x = torch.rand(5, 1, 44, 44)
out = nnf.interpolate(x, size=(224, 224), mode='bicubic', align_corners=False)
如果您真的关心插值的准确性,应该查看ResizeRight
:这是一个pytorch/numpy软件包,可以准确处理调整图像大小时出现的各种“边缘情况”。当直接合并不同比例的特征时,不准确的插值可能会导致错位。
您要找的是 TorchVision transforms.functional.resize()
函数:
import torchvision.transforms.functional as F
t = torch.randn([5, 1, 44, 44])
t_resized = F.resize(t, 224)
interpolation
参数指定。
0
进行调整吗?还是通过膨胀图像进行调整? - iacob