Toybrick

楼主: zhuhairong

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

jefferyzhang

超级版主

积分
1251
发表于 2019-8-9 12:57:08 | 显示全部楼层
abcehac 发表于 2019-8-8 14:26
感谢解答!!!也就是说不开启量化的话,NPU的计算力达不到最大!

也麻烦您帮忙看看《yolov3_demo中py文 ...

是的,量化后才能达到最大算力。这也是目前业界算力功耗比最高的做法。
回复

使用道具 举报

abcehac

注册会员

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

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

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

使用道具 举报

17708867778

新手上路

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

版主您好,我们在量化的时候用了8W+的图,但是在转换的过程,感觉根本没有加载图片去量化,量化函数是True,请问还有可能是哪些问题,或者调哪些函数解决这样的情况?
回复

使用道具 举报

jefferyzhang

超级版主

积分
1251
发表于 2019-8-12 15:48:40 | 显示全部楼层
17708867778 发表于 2019-8-12 13:56
版主您好,我们在量化的时候用了8W+的图,但是在转换的过程,感觉根本没有加载图片去量化,量化函数是Tru ...

为什么会有这种感觉。8W+都写入dataset.txt里了么
回复

使用道具 举报

17708867778

新手上路

积分
37
发表于 2019-8-12 22:52:28 | 显示全部楼层
本帖最后由 17708867778 于 2019-8-12 22:54 编辑
jefferyzhang 发表于 2019-8-12 15:48
为什么会有这种感觉。8W+都写入dataset.txt里了么

8W+的数据全部写入了,出现这种感觉是因为3分钟就转化完成了C:\Users\yhy\Desktop\11.png

本帖子中包含更多资源

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

x
回复

使用道具 举报

abcehac

注册会员

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

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

使用道具 举报

17708867778

新手上路

积分
37
发表于 2019-8-13 01:34:28 | 显示全部楼层
jefferyzhang 发表于 2019-8-12 15:48
为什么会有这种感觉。8W+都写入dataset.txt里了么

rknn.config(channel_mean_value='0 0 0 255', reorder_channel='0 1 2', batch_size=16)

上面的这个batch_size的数量只会被加载一次,也就是只会量化batch_size数量这么多的图片

我看rknn.py文件中有个rknn_batch_size,这个函数是不是把batch_size加载进来的图片分rknn_batch_size次量化完,然后就执行rknn.export_rknn了?

我把batch_size=600,再往上加电脑就崩溃了,16g内存扛不住

回复

使用道具 举报

hisping

管理员

积分
323
发表于 2019-8-13 09:26:09 | 显示全部楼层
17708867778 发表于 2019-8-13 01:34
rknn.config(channel_mean_value='0 0 0 255', reorder_channel='0 1 2', batch_size=16)

上面的这个bat ...

config有个epochs参数,代表迭代次数,你试试
回复

使用道具 举报

jefferyzhang

超级版主

积分
1251
发表于 2019-8-13 11:00:36 | 显示全部楼层
本帖最后由 jefferyzhang 于 2019-8-13 11:02 编辑
abcehac 发表于 2019-8-12 23:00
如果要是量化10W+的图片,那是不是batch_size = 1000000?
我现在开启量化,把coco2014的所有图片名字都放 ...

rknn只支持batch_size=1,10w+图片就是epoch=10w,batch_size=1.
量化时候的batch_size应该是指多少张图片作为一组结果进行量化,所以你10w的batchsize实际上只计算了一组量化数据,还是需要开高epoch
回复

使用道具 举报

abcehac

注册会员

积分
100
发表于 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可以设置的更大吗?

回复

使用道具 举报

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

本版积分规则

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


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