[英]How to resize a PyTorch tensor?
我有一個 PyTorch 張量,大小為(5, 1, 44, 44)
(批次、通道、高度、寬度),我想將其“調整大小”為(5, 1, 224, 224)
我怎樣才能做到這一點? 我應該使用哪些功能?
似乎您正在尋找interpolate
( nn.functional 中的nn.functional
):
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 package,它可以在調整圖像大小時准確處理各種“邊緣情況”。 當直接合並不同尺度的特征時,這可能會產生影響:不准確的插值可能會導致未對齊。
TorchVision transforms.functional.resize()
function 是您正在尋找的:
import torchvision.transforms.functional as F
t = torch.randn([5, 1, 44, 44])
t_resized = F.resize(t, 224)
如果您希望使用雙線性以外的其他插值模式,可以使用interpolation
參數指定它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.