gpt4 book ai didi

conv-neural-network - 如何在 PyTorch 中更改图片大小

转载 作者:行者123 更新时间:2023-12-03 15:50:16 24 4
gpt4 key购买 nike

我正在尝试 convert CNN Keras model对于使用 FER2013 数据集到 PyTorch 模型的情绪识别,我有以下错误:

Traceback (most recent call last):
File "VGG.py", line 112, in <module>
transfer.keras_to_pytorch(keras_network, pytorch_network)
File "/home/eorg/NeuralNetworks/user/Project/model/nntransfer.py", line 121, in keras_to_pytorch
pytorch_model.load_state_dict(state_dict)
File "/home/eorg/.local/lib/python2.7/site-packages/torch/nn/modules/module.py", line 334, in load_state_dict
own_state[name].copy_(param)
RuntimeError: inconsistent tensor size at /b/wheel/pytorch-src/torch/lib/TH/generic/THTensorCopy.c:51

我知道错误与图像的形状有关。在 Keras 中,输入大小定义为 48 x 48。

我的问题是如何在 PyTorch 模型中定义我的图片是 48x48 的形状? 我在文档和示例中找不到这样的功能。

任何帮助都会有用!

最佳答案

为了自动调整输入图像的大小,您需要定义所有图像经过的预处理管道。这可以通过 torchvision.transforms.Compose() 来完成( Compose docs )。要调整图像大小,您可以使用 torchvision.transforms.Scale() ( Scale docs ) 来自 torchvision 包。

请参阅文档:
请注意,在文档中它说 .Scale()已弃用和 .Resize()应该改用。 Resize docs

这将是一个最小的工作示例:

import torch
from torchvision import transforms

p = transforms.Compose([transforms.Scale((48,48))])

from PIL import Image

img = Image.open('img.jpg')

img.size
# (224, 224) <-- This will be the original dimensions of your image

p(img).size
# (48, 48) <-- This will be the rescaled/resized dimensions of your image

关于conv-neural-network - 如何在 PyTorch 中更改图片大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47181853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com