我在PyTorch中训练了一个CNN模型,用于检测6种不同类别的皮肤病。我的模型达到了92%的准确率,并保存为.pth文件。我希望使用这个模型进行预测,但不知道如何操作。如果有人能指导我完成必要的步骤,我将不胜感激。
我尝试直接从文件夹中获取图像输入,调整其大小,然后通过模型运行以进行预测。我遇到的错误是ModuleAttributeError,提示没有名为predict的属性。现在我不明白我哪里做错了,我知道这对大多数人来说是一个简单的任务,但我希望能在这方面得到一些指导。我使用的数据集是来自Kaggle的Skin Cancer MNIST: HAM10000数据集,并使用ResNet18进行训练。如果有人对模型微调有任何建议,我将非常感激。
简而言之:我遇到了一个名为ModuleAttributeError的错误,提示’ResNet’模块没有名为’predict’的属性。
图像在此处进行预处理,如下所示:
...
这是我构建模型的地方:
...
最后,这是带有预测功能的训练过程:
...
这是执行后立即出现的错误。
...
如果有人能帮助我解决这个问题,并使其作为皮肤病的分类器正常工作,我将非常感激。
回答:
nn.Module
没有predict
函数,只需调用对象进行推理:
prediction = model(img_reshape)
这将调用对象的__call__
函数,该函数反过来调用模型的forward
函数。