Toybrick

模型转换,量化的一些问题

abcehac

注册会员

积分
163
楼主
发表于 2019-8-8 12:12:14 | 显示全部楼层
jefferyzhang 发表于 2019-7-23 10:11
量化是个比较大的专题,我个人也在研究,很难给出一个完美的答案。
不过量化图片肯定是越多越好,我有一个 ...

请问,我是不是可以理解成,在执行 rknn_transform.py 时,do_quantization=True,我在data中放入的图片越多,那么量化后转换出来的模型就会更好呢?

如果不开启量化,转换后的模型和yolo原模型的精度是不是基本一致的?

这个量化是说在提高了转换模型的速度还是说回头可以提高实际使用时的识别速度?
回复

使用道具 举报

abcehac

注册会员

积分
163
沙发
发表于 2019-8-8 14:26:09 | 显示全部楼层
jefferyzhang 发表于 2019-8-8 14:00
量化提高了速度,降低了成本。正常来说肯定是量化图片越多精度越高。
不开启量化默认是用FP16,可以手动 ...

感谢解答!!!也就是说不开启量化的话,NPU的计算力达不到最大!

也麻烦您帮忙看看《yolov3_demo中py文件源代码是不是有点小问题?原贴有问题重发》仔细看了下yolov3_demo的python代码,有些地方似乎有点小问题,多谢!
回复

使用道具 举报

abcehac

注册会员

积分
163
板凳
发表于 2019-8-9 15:45:40 | 显示全部楼层
jefferyzhang 发表于 2019-8-9 12:57
是的,量化后才能达到最大算力。这也是目前业界算力功耗比最高的做法。 ...

好滴!我发现,如果只用demo中的几张图做transform的话,运行yolov3tiny根本识别不到东西,识别到了也基本都是错的。不知道您用的coco80个label的是哪版coco?

这个3399pro板子tranform darnet53的weights,cpu直接超频了……看来全网络只能在电脑上transform……
回复

使用道具 举报

abcehac

注册会员

积分
163
地板
发表于 2019-8-12 23:00:37 | 显示全部楼层
jefferyzhang 发表于 2019-7-23 10:11
量化是个比较大的专题,我个人也在研究,很难给出一个完美的答案。
不过量化图片肯定是越多越好,我有一个 ...

如果要是量化10W+的图片,那是不是batch_size = 1000000?
我现在开启量化,把coco2014的所有图片名字都放在 dataset.txt中,但是依旧1-2分钟就量化完了。是不是我也要根据txt中的图片数量调整batch_size的数值?
回复

使用道具 举报

abcehac

注册会员

积分
163
5#
发表于 2019-8-13 13:12:01 | 显示全部楼层
jefferyzhang 发表于 2019-8-13 11:00
rknn只支持batch_size=1,10w+图片就是epoch=10w,batch_size=1.
量化时候的batch_size应该是指多少张图片 ...

噢噢!好嘞!!!多谢!

模型转换这里我觉得很神奇,我只需要给模型resize后的图片,都不用给每个图片的label,它就能参考图片调整精度,它是怎么做到的???是不是我每个图片名字必须是这个图片中物体的label才行?

我只是在板子上的python库中的rknn/api/rknn.py中看到
def config(self, batch_size=100, ......)发现默认值是100。没想到它竟然只支持1!我要是用PC转换模型,这batch_size可以设置的更大吗?

回复

使用道具 举报

abcehac

注册会员

积分
163
6#
发表于 2019-8-13 22:19:18 | 显示全部楼层
jefferyzhang 发表于 2019-8-13 18:34
就用默认就好了,设置多少合理是没有准确答案的,只能不停的试验(深度学习不就是这样)
量化和Label是没 ...

噢!!原来是这个逻辑!那我是不是也应该放进去一些假的图片或者说不在我label内的图片,这样是不是能起到防止量化后的模型过度拟合呢???

我在1.1.0版本的rknn/api/rknn.py 中看到 config和build两个类中都有了batch_size参数,build中是rknn_batch_size ,范围是[0-128),默认值为1。官方文档和py中都没有写明这两个batch_size的关系。所以我准备把他们都先设置成30看看,数大了,我的电脑跑不动。
回复

使用道具 举报

abcehac

注册会员

积分
163
7#
发表于 2019-8-14 12:48:05 | 显示全部楼层
jefferyzhang 发表于 2019-8-13 23:27
量化不是训练!!!
量化只是把浮点转定点,运算速度快而已

哈哈哈哈, 看来我又想多了……
回复

使用道具 举报

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

本版积分规则

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


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