如何使用 TorchVision 变换调整 5D PyTorch 张量的大小?

问题描述 投票:0回答:0

我正在尝试在 CNN 中调整 5D PyTorch 张量的大小,但我遇到了一些麻烦。我附上了我的代码和我得到的错误。

import torchvision.transforms.functional as TF
import numpy as np

a = torch.rand((1, 3, 20, 376, 376))

b = TF.resize(a, (200, 200))

ValueError:输入和输出必须具有相同数量的空间维度,但输入的空间维度为 [20, 376, 376],输出大小为 [200, 200]。请提供 (N, C, d1, d2, ...,dK) 格式的输入张量和 (o1, o2, ...,oK) 格式的输出大小。

5D 张量具有以下维度:

(1, 3, 20, 376, 376) 对应于 (BATCH SIZE, CHANNELS, DEPTH, HEIGHT, WIDTH).

张量的最后 3 个维度指的是通过网络传递的 3D 图像的维度。我想调整最后两个维度的大小,即高度和宽度。任何指导将不胜感激。谢谢!

不幸的是,我无法将张量转换为 numpy 数组,调整大小,然后将它们重新转换为张量,因为我将失去训练中梯度下降所需的梯度。

python pytorch resize image-resizing torchvision
© www.soinside.com 2019 - 2024. All rights reserved.