torch.nn.functional.interpolate():参数设置

2024-09-30 00:34:33 发布

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

我正在使用torch.nn.functional.interpolate()调整图像大小

首先,我使用transforms.ToTensor()将图像转换成张量,张量的大小为(325252252),(252252252)是导入图像的大小。我想做的是用interpolate()函数创建一个大小为(3504504)的张量

我设置了parascale_factor=2,但它返回了一个(3252504)张量。然后我将其设置为scale_factor=(1,2,2),并收到如下维度冲突错误:

size shape must match input shape. Input is 1D, size is 3

那么,为了接收(3504504)张量,我应该怎样设置参数呢


Tags: 函数图像sizeis错误nntorchfunctional
1条回答
网友
1楼 · 发布于 2024-09-30 00:34:33

如果您使用的是scale_factor,则需要提供一批图像,而不是单个图像。因此,您需要使用unsqueeze(0)添加一个批,然后将其交给interpolate函数,如下所示:

import torch
import torch.nn.functional as F

img = torch.randn(3, 252, 252)  # torch.Size([3, 252, 252])
img = img.unsqueeze(0)  # torch.Size([1, 3, 252, 252])

out = F.interpolate(img, scale_factor=(2, 2), mode='nearest')
print(out.size()) # torch.Size([1, 3, 504, 504])

相关问题 更多 >

    热门问题