deep-learning - AttributeError:“collections.OrderedDict”对象没有属性“predict”
问题描述
作为一个新手和深度学习和 pytorch 的初学者,我不确定我应该给你们什么来回答我的问题。但我会尽力让你们理解我的问题。我已经使用 'model= torch.load('model/resnet18-5c106cde.pth')' 在 pytorch 中加载了一个模型。但是当我使用命令'prediction = model.predict(test_image)'时,它显示了一个AttributeError:'collections.OrderedDict'对象没有属性'predict'。希望你们理解我的问题,并提前谢谢...
解决方案
我猜你正在加载的检查点存储模型状态字典(模型的参数)而不是模型(模型的结构加上它的参数)。尝试:
model = resnet18(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.eval()
PATH
模型检查点的路径在哪里。您需要声明model
为对象类的实例(声明模型结构),以便您可以加载检查点(仅参数,无结构)。所以你需要找到合适的类来为 resnet18 导入,可能类似于:
from torchvision.models import resnet18
推荐阅读
- amazon-web-services - 无法使用 AWS Schema Conversion Tool 连接到 Amazon Aurora (MySQL)
- javascript - 带有动态选择框的动态表单 - Laravel
- python - Python:让一个函数调用另一个已输入参数的函数
- swift - 如何调整 SKShapeNode 的大小?
- ios - React-Native 可访问性限制 fontSize 缩放
- apache-spark - 从 Spark 数据集中收集结果的最佳方法是什么?
- c# - Asp.Net Core MVC Ajax 标签助手 - 从控制器返回错误不起作用
- java - NoSuchMethodError:javax.ws.rs.core.MultivaluedMap.addAll
- powershell - 在 powershell 中导入 Posh-ssh moudle 不会导入所有 cmdlet
- java - 从地图中的元素获取总值