簡體   English   中英

如何調整 PyTorch 張量的大小?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM