Python 3.x 在自己的映像上测试网络

Python 3.x 在自己的映像上测试网络,python-3.x,deep-learning,Python 3.x,Deep Learning,以下示例来自: 这段代码训练成功。我运行了这段代码并保存了模型 现在我想预测我自己的形象。我使用了以下代码 import torch from mod1 import Net from PIL import Image import numpy image = Image.open("plane.png") pix = numpy.array(image) #convert image to numpy array image.show() net = Net() net.eval() i

以下示例来自:

这段代码训练成功。我运行了这段代码并保存了模型

现在我想预测我自己的形象。我使用了以下代码

import torch
from mod1 import Net
from PIL import Image
import numpy

image = Image.open("plane.png")

pix = numpy.array(image) #convert image to numpy array
image.show()
net = Net()
net.eval()
img = torch.Tensor(pix) #convert numpy array to tensor
net = torch.load('pytorch_Network.h5')
print(net(img))
但我有一个错误:

Traceback (most recent call last):
  File "/home/ihor/Tasks/try1/pytorch_load_model.py", line 14, in <module>
    print(net(img))
  File "/home/ihor/anaconda3/envs/tensorflow/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/ihor/Tasks/try1/pytorch.py", line 51, in forward
    x = self.pool(F.relu(self.conv1(x)))
  File "/home/ihor/anaconda3/envs/tensorflow/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/ihor/anaconda3/envs/tensorflow/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 301, in forward
    self.padding, self.dilation, self.groups)
RuntimeError: Expected 4-dimensional input for 4-dimensional weight [6, 3, 5, 5], but got input of size [368, 860] instead
回溯(最近一次呼叫最后一次):
文件“/home/ihor/Tasks/try1/pytorch\u load\u model.py”,第14行,在
打印(净(img))
文件“/home/ihor/anaconda3/envs/tensorflow/lib/python3.6/site packages/torch/nn/modules/module.py”,第477行,在调用中__
结果=自我转发(*输入,**kwargs)
文件“/home/ihor/Tasks/try1/pytorch.py”,第51行,前进
x=自池(F.relu(self.conv1(x)))
文件“/home/ihor/anaconda3/envs/tensorflow/lib/python3.6/site packages/torch/nn/modules/module.py”,第477行,在调用中__
结果=自我转发(*输入,**kwargs)
文件“/home/ihor/anaconda3/envs/tensorflow/lib/python3.6/site packages/torch/nn/modules/conv.py”,第301行,向前
自填充、自膨胀、自组)
RuntimeError:四维权重[6,3,5,5]的预期四维输入,但得到的输入大小为[368860]
对不起,如果这是一个有点基本的问题,但由于某种原因,我无法找到很多在线指导我在这方面。我在谷歌上搜索了很多,读了很多不同的文章,但没有任何帮助


谢谢

首先,您必须将火车图像的功能应用于新图像。例如,如果train dataset包含大小为25*25且集中的灰度图像,则应在图像上执行所有这些预处理操作,然后传递到模型。如果查看错误
预期的四维权重[6,3,5,5]的四维输入,但得到大小为[368,860]的输入相反
它表示您传递的是图像而不是权重。