Toybrick

caffe转化模型后输出shape不对

linpanda

注册会员

积分
135
楼主
发表于 2019-9-4 09:11:10    查看: 7032|回复: 9 | [复制链接]    打印 | 只看该作者
系统 Ubuntu16.04
版本 rknn-toolkit-V1.10
我的网络时全有卷积层构成的,最后输出应该是NxNx4和NxNx2两个矩阵,但是不管输入多大图片都是只有1x1x4和1x1x2的结果。请问问题出在哪里?Caffe时使用时正常的。


回复

使用道具 举报

jefferyzhang

版主

积分
12953
沙发
发表于 2019-9-4 11:02:23 | 只看该作者
rknn输出节点name是否填对,输出结果的总维数是不会出错的。
回复

使用道具 举报

linpanda

注册会员

积分
135
板凳
 楼主| 发表于 2019-9-4 11:15:17 | 只看该作者
额。我用的toolkit哪里设置输出节点?
另外我做了些测试把原caffe框架里的输入大小进行了改变,然后再转换再用rknn进行推理,结果不管输入的图片是多大的size,最后结果的shape都是caffe框架里定义的输入大小推理得的结果大小
回复

使用道具 举报

linpanda

注册会员

积分
135
地板
 楼主| 发表于 2019-9-4 11:22:18 | 只看该作者
jefferyzhang 发表于 2019-9-4 11:02
rknn输出节点name是否填对,输出结果的总维数是不会出错的。

额。我用的toolkit哪里设置输出节点?
另外我做了些测试把原caffe框架里的输入大小进行了改变,然后再转换再用rknn进行推理,结果不管输入的图片是多大的size,最后结果的shape都是caffe框架里定义的输入大小推理得的结果大小
回复

使用道具 举报

jefferyzhang

版主

积分
12953
5#
发表于 2019-9-4 14:28:09 | 只看该作者
linpanda 发表于 2019-9-4 11:22
额。我用的toolkit哪里设置输出节点?
另外我做了些测试把原caffe框架里的输入大小进行了改变,然后再转 ...

那不是对的么?
回复

使用道具 举报

linpanda

注册会员

积分
135
6#
 楼主| 发表于 2019-9-9 09:34:26 | 只看该作者

嗯嗯。。这个问题是理解了,,另一个问题就是如果不对模型进行量化调整的话,输出结果应该是会跟原模型一样的吧?
回复

使用道具 举报

jefferyzhang

版主

积分
12953
7#
发表于 2019-9-9 10:01:46 | 只看该作者
linpanda 发表于 2019-9-9 09:34
嗯嗯。。这个问题是理解了,,另一个问题就是如果不对模型进行量化调整的话,输出结果应该是会跟原模型一 ...

是的,理论上是这样的,但是我们现在rknn转换时候强制会用FP16,如果你模型是FP32的层,会有一点精度损失,至于如何强制rknn使用FP32,这个我已经跟相关部门提过需求了,等他们回应。

1. Caffe FP16 ->  RKNN FP16 结果一定是一样的
2. Caffe FP32 -> RKNN FP16 结果小数点后会有一点点精度区别
3. Caffe FP16/32 -> RKNN 量化 INT8 如果量化好的话,结果是和FP16非常接近的,不会到值完全不一样的地步

然后RKNN是固定输入尺寸的,所以模型如果是允许变尺寸输入,转换RKNN时候是必须固定成一个尺寸的。
回复

使用道具 举报

linpanda

注册会员

积分
135
8#
 楼主| 发表于 2019-9-9 10:14:01 | 只看该作者
jefferyzhang 发表于 2019-9-9 10:01
是的,理论上是这样的,但是我们现在rknn转换时候强制会用FP16,如果你模型是FP32的层,会有一点精度损失 ...

了解了,感谢解答!!
回复

使用道具 举报

linpanda

注册会员

积分
135
9#
 楼主| 发表于 2019-9-10 15:50:40 | 只看该作者
jefferyzhang 发表于 2019-9-9 10:01
是的,理论上是这样的,但是我们现在rknn转换时候强制会用FP16,如果你模型是FP32的层,会有一点精度损失 ...

您好,我现在的问题就是rknn上跑的模型跟caffe的结果完全不一样额。没有进行量化
我是在Linux下的模拟环境跑的,暂时还没有到板子上,会跟这个有关系吗?
这个caffe FP16/32怎么判别呢?
回复

使用道具 举报

jefferyzhang

版主

积分
12953
10#
发表于 2019-9-11 08:19:32 | 只看该作者
linpanda 发表于 2019-9-10 15:50
您好,我现在的问题就是rknn上跑的模型跟caffe的结果完全不一样额。没有进行量化
我是在Linux下的模拟环 ...

完全不一样就要一层一层debug,看下哪层出的问题
回复

使用道具 举报

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

本版积分规则

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


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