Toybrick

SSD相对于tensorflow模型精度很低

xiaqing10

高级会员

积分
572
楼主
发表于 2019-7-9 15:37:33    查看: 7698|回复: 5 | [复制链接]    打印 | 只看该作者
RT, (ubuntu:16.04 , rknn v0.99)

采用的backbone是inception-v2. 前后处理参数完全一致(min_score = 0.5, nms_score = 0.35)
下面列出对于同一张图片的输出,分别是rknn和tensorflow pb的输出.

rknn:
class:
[ 10.097731  -10.567392  -11.741548  -10.802223  -11.506717  -11.271885
-11.271885  -11.271885  -10.567392  -11.037054  -11.271885   11.271885 ]
box:
[ 0.7268028   0.         -2.1804085  -3.2302346  -0.16151173  0.7268028
-2.3419201  -0.7268028   1.2920939   0.08075587  0.         -2.6649437 ]

pb:
class:
[ 10.310827  -10.911581  -12.130562  -11.300155  -12.018924  -11.87126
-11.132574  -10.914707  -10.862275  -11.390712  -11.598831   12.325917 ]
box:
[ 0.14211771 -0.30928105 -1.067803   -2.5659282   1.2492366   1.1612065
-0.98545104 -0.9886693   0.40972435  0.62647974 -1.2862402  -1.8050051 ]


可以看出,class的数值差别不大, 但是box的值差别很大, 请问这个有改进的方法么?


回复

使用道具 举报

jefferyzhang

版主

积分
12952
沙发
发表于 2019-7-23 12:02:40 | 只看该作者
量化了么,量化需要大量图片进行量化来提高精度,可以无限接近于原模型,
不量化的话精度和原模型是一样的,但是会牺牲速度。

如果你说的是rknn的那个demo,那没办法保证精度,量化就用了一张图片而已,只是个demo,让大家了解如何转换模型和部署的,并非产品化模型。
回复

使用道具 举报

xiaqing10

高级会员

积分
572
板凳
 楼主| 发表于 2019-7-23 15:57:50 | 只看该作者
本帖最后由 xiaqing10 于 2019-7-23 16:00 编辑
jefferyzhang 发表于 2019-7-23 12:02
量化了么,量化需要大量图片进行量化来提高精度,可以无限接近于原模型,
不量化的话精度和原模型是一样的 ...

多谢回答. 后面我用yolov2解决了这个精度问题,发现rknn对于yolo貌似没什么精度损失.

首先,我是量化了的,(图片有几十张,这样看来可能不够)
我用了原生的ssd_inception_v2(91分类),测试,发现pb模型比rknn精度高,下面贴出对比图.
然后用了训练了一把ssd_inception_v2(10分类),测试,发现pb模型精度95%,而rknn模型精度50%不到.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

jefferyzhang

版主

积分
12952
地板
发表于 2019-7-23 16:37:39 | 只看该作者
我知道我一些算法公司的客户,量化都是用10w+以上的图片进行的,量化运行都要半个多小时,一点点的图片进行量化精度损失是肯定很大的。
量化的学问挺大的,要好好研究下,我们有客户用rknn混合量化机制能做到接近0精度的损失。
回复

使用道具 举报

xiaqing10

高级会员

积分
572
5#
 楼主| 发表于 2019-7-23 17:00:22 | 只看该作者
jefferyzhang 发表于 2019-7-23 16:37
我知道我一些算法公司的客户,量化都是用10w+以上的图片进行的,量化运行都要半个多小时,一点点的图片进行 ...

ok .好的~
多谢多谢
回复

使用道具 举报

wang

新手上路

积分
37
6#
发表于 2019-10-10 15:22:22 | 只看该作者
你好,问一下,如何使用ssd_inception_v2的rknn模型,我使用python接口调用转换了模型后,输出['concat','concat_1'], 其中concat跟正常的概率值出入较大(加了sigmod转换),求告知如何解决?
回复

使用道具 举报

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

本版积分规则

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


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