Toybrick

楼主: nevin007

[C++ API] 如何使用rknn_init初始化多个模型

hjf515

中级会员

积分
213
发表于 2019-3-11 19:23:19 | 显示全部楼层
请问加载多个模型的问题有解决么?
我也需要加载多个模型,每次加载前都需要init,那就太慢了。
回复

使用道具 举报

nevin007

注册会员

积分
127
 楼主| 发表于 2019-3-12 10:22:11 | 显示全部楼层
elooon 发表于 2019-3-11 16:29
outputs:

[toybrick@localhost build]$ ./rknn_mobilenet

非常感谢!我测试了你的Demo,确实可以跑通。在此基础上,我进一步做了几个测试:
1、将model_path2(ctx2)替换成MTCNN中的RNet和ONet,结果也都可以同时初始化;
2、将model_path2(ctx2)替换成MTCNN中的PNet,运行时仍然会报错:
rknn_init 1 succeed! ret=0
rknn_init fail! ret=-6
3、在对PNet做模型转换时,设置do_quantization=False,即不做量化,替换第2步中的模型再次执行,结果可以正常初始化!
综上测试,可以看出,C++API支持初始化多个模型,但对于少数模型(如PNet这种全卷积网络)仅支持非量化的模型...
回复

使用道具 举报

nevin007

注册会员

积分
127
 楼主| 发表于 2019-3-12 10:23:50 | 显示全部楼层
hjf515 发表于 2019-3-11 19:23
请问加载多个模型的问题有解决么?
我也需要加载多个模型,每次加载前都需要init,那就太慢了。 ...

你好,可以参考22楼的测试结果
回复

使用道具 举报

elooon

注册会员

积分
139
发表于 2019-3-12 16:06:28 | 显示全部楼层
nevin007 发表于 2019-3-12 10:22
非常感谢!我测试了你的Demo,确实可以跑通。在此基础上,我进一步做了几个测试:
1、将model_path2(ctx2 ...

emmm....
Can PNet which is quantificated(do_quantization=True) be init succeed alone?
回复

使用道具 举报

nevin007

注册会员

积分
127
 楼主| 发表于 2019-3-12 17:01:09 | 显示全部楼层
elooon 发表于 2019-3-12 16:06
emmm....
Can PNet which is quantificated(do_quantization=True) be init succeed alone?

Multi-scale models, PNet1, PNet2 and so on, will be created when PNet is quantificated(do_quantization=True). As inference, PNet2 model which must be initialized after PNet1 has finished running. However, if do_quantization=False, they can be initialized simultaneously.
回复

使用道具 举报

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

本版积分规则

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


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