如何修复“”类型错误:img应该是PIL图像。得到了<class'str'>?

2024-09-28 22:24:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个初学者,我正在学习编写一个图像分类器。我的目标是创建一个predict函数。在

有什么解决的建议吗?在

在这个项目中,我想用预测函数来识别不同的花卉种类。这样我以后可以检查他们的标签。在

尝试修复:我已经使用了unsqueeze_(0)方法并从numpy更改为torch方法。我通常会收到如下所示的相同错误消息:

TypeError: img should be PIL

代码:

^{1}$

错误:

^{pr2}$

我只想得到类似的结果。谢谢您!在

    predict(image,model)
    print(probs)
    print(classes)
    tensor([[ 0.5607,  0.3446,  0.0552,  0.0227,  0.0054]], device='cuda:0')   
    tensor([[  8,   1,  31,  24,   7]], device='cuda:0')

Tags: 项目方法函数图像目标分类器device错误
1条回答
网友
1楼 · 发布于 2024-09-28 22:24:42

由于predict函数中的以下行,您将得到上述错误:

img = process_image(image)

process_image函数的输入应该是Image.open(image),而不是{},它基本上是指向图像(字符串)的路径,因此会出现错误消息TypeError: img should be PIL Image. Got <class ‘str’>。在

所以,将img = process_image(image)改为img = process_image(Image.open(image))

修改的predict函数:

^{pr2}$

相关问题 更多 >