首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CNN算法计算未标记图像的输出

使用CNN算法计算未标记图像的输出
EN

Stack Overflow用户
提问于 2021-06-28 21:25:41
回答 1查看 32关注 0票数 0

我设计了一个算法,它使用CNN算法来训练标记的训练数据,并将其与标记的测试数据进行比较。此外,学习的人工智能在编写代码来分类未标记的数据和获得准确性方面存在问题。首先,获取未标记的图像并对其进行预处理,在预测过程中,结果是火炬尺寸较小或无法加载。在这种情况下,我想知道该使用哪种方法。

该部分的代码如下所示。

代码语言:javascript
复制
predict_img = PIL.Image.open('./test1/test.jpg')
a= transforms.Resize((32, 9))
b= transforms.ToTensor()
c= transforms.Normalize(torch.Tensor(mean), torch.Tensor(std))
t=a(predict_img)
u=b(t).view(-1, 3, 3, 3)
v=c(u)

print(v.shape)
print(model(v).shape())

single_prediction = model(v)
print('Prediction: ', torch.argmax(single_prediction.data, 1).float())

在这部分中,我尝试将火炬大小设置为相同,因为标记的训练和测试图像被转换为6,3,100,100,但失败了。另外,输出"RuntimeError: 4维权重32,3,3,3的4维输入,但得到大小为3,100,100的3维输入“,将torchsize更改为32,3,3,3,但由于导出错误而失败。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-06-29 04:35:04

我将尝试回答您收到的运行时错误。

出现此错误: RuntimeError:需要4维权重32,3,3,3的4维输入,但得到大小为3,100,100的3维输入

出现此错误是因为Pytorch中的nn.Conv2d或torch库中的任何层都接受batch_size、channels、height、width形式的4维数据。然而,您的输入张量是3,100,100,它缺少一个batch_size,因此它是错误的。因此,解决这个问题的方法是通过(其中image.size = (3,100,100))为您的图像添加一个额外的batch_size维度

代码语言:javascript
复制
v = v.unsqueeze(0)

这会将张量形状从(3,100,100)更改为(1,3,100,100),现在可以进入您的神经网络Sarthak Jain

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68164163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档