Toybrick

pt转rknn出错

jefferyzhang

版主

积分
12953
楼主
发表于 2020-12-30 08:15:39 | 显示全部楼层
首先你得先用pytorch1.2 加载这个模型,能正确推理了,再转rknn
回复

使用道具 举报

jefferyzhang

版主

积分
12953
沙发
发表于 2020-12-30 09:35:00 | 显示全部楼层
不知道你什么意思,你都说用rknn可以推理成功了,那还有什么问题么?
回复

使用道具 举报

jefferyzhang

版主

积分
12953
板凳
发表于 2020-12-30 09:42:57 | 显示全部楼层
zhw 发表于 2020-12-30 09:41
torch1.2可以正常推理成功,但是转rknn出错,实在是找不到问题所在了

你把你torch1.2 读取这个pt推理正确的代码贴出来看下
回复

使用道具 举报

jefferyzhang

版主

积分
12953
地板
发表于 2020-12-30 09:55:15 | 显示全部楼层
zhw 发表于 2020-12-30 09:47
device = torch.device("cpu")
weights = 'plate.pt'
model = torch.load(weights, map_location=device) ...

为何需要['model'].eval()
直接eval的模型无法推理么?
回复

使用道具 举报

jefferyzhang

版主

积分
12953
5#
发表于 2020-12-30 10:06:41 | 显示全部楼层
zhw 发表于 2020-12-30 10:02
eval不是转换成推理模式吗?我去掉.eval()也可以推理成功

我是说['model']
回复

使用道具 举报

jefferyzhang

版主

积分
12953
6#
发表于 2020-12-30 10:15:50 | 显示全部楼层
zhw 发表于 2020-12-30 10:10
model = torch.load(weights, map_location=device).eval()
AttributeError: 'dict' object has no a ...

说明你的模型并不是通用模型。
rknn也是得先读取torch模型才能转换的,都不能用常规方法读出来,转换肯定会出问题。

pytorch我并不是很熟,还是建议你qq群里问下NPU部门的人,你这个问题解决后如果还不行
可以试着把模型文件@给他们让他们调试下
回复

使用道具 举报

jefferyzhang

版主

积分
12953
7#
发表于 2020-12-30 10:54:31 | 显示全部楼层
zhw 发表于 2020-12-30 10:31
weights = 'plate.pt'
model = torch.load(weights, map_location=device)['model'].float().eval()
torc ...

群管理员都是
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表