Toybrick

3399pro的量化精度

nila

注册会员

积分
109
发表于 2019-2-25 19:20:13    查看: 18647|回复: 11 | [复制链接]    打印 | 显示全部楼层
测试了一个网络,使用RKNN,dynamic_fixed_point-16量化,置信度大概偏差了千份之0.65,但时间比较长,
如果是asymmetric_quantized-u8,速度提升比较多,但偏差要百分之5.2
请问以上测试数据是否合理?但精度还是不够,如何进一步提高精度?
回复

使用道具 举报

raul

中级会员

积分
235
发表于 2019-2-26 10:03:34 | 显示全部楼层
你好。请问测试的是什么网络?测试集及测试方法是怎么样的?
回复

使用道具 举报

nila

注册会员

积分
109
 楼主| 发表于 2019-2-26 17:03:39 | 显示全部楼层
raul 发表于 2019-2-26 10:03
你好。请问测试的是什么网络?测试集及测试方法是怎么样的?

网络结构是ResNet101标准分类网络;将最后的1千类改为256分类。
选一张图片(分辨率224*224,RGB)在PC端和RKNN分别跑,比较softmax前一级的全连接层的输出结果(256维的特征向量)。
精度比较,就是纯PC端未量化的结果(256维的特征向量)与RKNN量化结果(256维的特征向量),对应位置直接比较。示意如下:

本帖子中包含更多资源

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

x
回复

使用道具 举报

raul

中级会员

积分
235
发表于 2019-2-27 10:50:26 | 显示全部楼层
精度需要用一个测试集来测,尽量用大点的数据集。单张图片有些置信度可能提高,有些可能降低。
回复

使用道具 举报

nila

注册会员

积分
109
 楼主| 发表于 2019-2-27 19:55:32 | 显示全部楼层
raul 发表于 2019-2-27 10:50
精度需要用一个测试集来测,尽量用大点的数据集。单张图片有些置信度可能提高,有些可能降低。 ...

我们比较关心256维特征向量的偏差,每个置信度的偏差都会影响到最后的结果。
是否有不同量化的相关测试结果呢?
另外quantization=false也是会有偏差的,是这样的吗?
回复

使用道具 举报

程子

中级会员

积分
386
发表于 2019-2-27 20:48:18 | 显示全部楼层
从模型转换之后体积减小一半来猜测:即使quantization=False的情况下也做了Float16的量化。
回复

使用道具 举报

raul

中级会员

积分
235
发表于 2019-2-28 21:10:13 | 显示全部楼层
nila 发表于 2019-2-27 19:55
我们比较关心256维特征向量的偏差,每个置信度的偏差都会影响到最后的结果。
是否有不同量化的相关测试结 ...

不同的图片,它的置信度偏差是会不同的,所以看精度的时候,还是需要多测不同的图片。我们也测了下TensorFlow resnet101v1的精度,原始模型精度top1是76.126%,top5是92.824%,用asymmetraic_quantized-u8量化后精度top1 75.636%,top5 92.908%,top1只降了0.5%不到。
quantization=false的是也可能会有一点偏差,我们在加载原始模型后会做一定的优化,这个优化有可能导致置信度偏差。
回复

使用道具 举报

yhc

注册会员

积分
177
发表于 2019-3-1 09:10:43 | 显示全部楼层
PC Float跑出来的结果和量化后跑出来的结果进行对比是没有意义的,应该都用量化结果对数据集进行测试,得到ROC曲线,然后再对比float模型的精度
回复

使用道具 举报

nila

注册会员

积分
109
 楼主| 发表于 2019-3-4 17:09:09 | 显示全部楼层
yhc 发表于 2019-3-1 09:10
PC Float跑出来的结果和量化后跑出来的结果进行对比是没有意义的,应该都用量化结果对数据集进行测试,得到 ...

@yhc @raul tks!
如果我想得到最高的精度,通过哪几个配置可以得到呢?
回复

使用道具 举报

yhc

注册会员

积分
177
发表于 2019-3-6 10:57:22 | 显示全部楼层
可以设置量化的dataset来使量化参数更贴合实际的场景
回复

使用道具 举报

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

本版积分规则

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


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