Toybrick

标题: TB-RK3399Pro做OpenPose案例,遇到模型转换失败? [打印本页]

作者: wzp    时间: 2020-4-21 17:21
标题: TB-RK3399Pro做OpenPose案例,遇到模型转换失败?
用caffe模型转换为rknn模型失败,提示以下信息:
warnings.warn(message)
--> config model
done
--> Loading model
done
--> Building model
W The RKNN Model generated can not run on simulator when pre_compile is True.
E pre_compile is not supproted on aarch64 platform.
Build model failed!
求大神指导

作者: jefferyzhang    时间: 2020-4-21 18:10
W The RKNN Model generated can not run on simulator when pre_compile is True.
E pre_compile is not supproted on aarch64 platform.
这句话的意思是:
RKNN在pre_compile=True时候生成的模型是不能运行在仿真器上的,
预编译也不支持在aarch64平台开启。


作者: wzp    时间: 2020-4-22 08:37
jefferyzhang 发表于 2020-4-21 18:10
W The RKNN Model generated can not run on simulator when pre_compile is True.
E pre_compile is not s ...

谢谢版主  我在程序中pre_compile=True删掉了,可以正常进行模型转换以及运行了,作为小白,我还有个疑问,3399有NPU加速,为什么进行模型转换的时候要耗费挺长时间的?运行程序后,摄像头检测都人体进行描线也很不流畅,请问是模型没优化的原因吗?
作者: jefferyzhang    时间: 2020-4-22 08:57
1. 转换就是一个编译过程,当然很耗时,而且如果有做量化,也是一个训练的过程,只是给你们都封装掉了,当然更慢
2. 不流畅有很多可能啊,比如量化提高模型速度,你自己前后处理代码是不是没写好很费时间,模型推理只是你计算的一小部分而已。
3. 摄像头如果30帧,你要每帧都有结果,那计算就要控制在33ms以内,你选用的模型能达到这个速度么?不能的话为啥不异步多线程处理?
作者: wzp    时间: 2020-4-22 09:37
jefferyzhang 发表于 2020-4-22 08:57
1. 转换就是一个编译过程,当然很耗时,而且如果有做量化,也是一个训练的过程,只是给你们都封装掉了,当 ...

明白 谢谢版主的解答
作者: wzp    时间: 2020-4-22 10:01
jefferyzhang 发表于 2020-4-22 08:57
1. 转换就是一个编译过程,当然很耗时,而且如果有做量化,也是一个训练的过程,只是给你们都封装掉了,当 ...

还有一个疑问烦请再解答一下:
   教程上的模型转换是在PC上进行的,然后把转换好的模型放到3399上运行,但是我整个过程是在3399上运行的,直接把pre_compile=True删了,这样的话对运行速度影响大吗?或者有啥影响?
作者: jefferyzhang    时间: 2020-4-22 10:18
wzp 发表于 2020-4-22 10:01
还有一个疑问烦请再解答一下:
   教程上的模型转换是在PC上进行的,然后把转换好的模型放到3399上运行, ...

开了pre_compile能使模型在NPU上加载速度变快,不会影响模型推理时间。
板子上无法开precompile,因为编译时间需要很久很久,板子顶不住。
作者: zwj1234    时间: 2020-6-5 17:17
jefferyzhang 发表于 2020-4-21 18:10
W The RKNN Model generated can not run on simulator when pre_compile is True.
E pre_compile is not s ...

我在pc端,优班图系统下转换darknet模型:rknn.build(do_quantization=True, dataset='./dataset_416x160.txt',pre_compile=True)
报错信息:The RKNN Model generated can not run on simulator when pre_compile is True.
怎么解决
作者: jefferyzhang    时间: 2020-6-6 17:06
zwj1234 发表于 2020-6-5 17:17
我在pc端,优班图系统下转换darknet模型:rknn.build(do_quantization=True, dataset='./dataset_416x16 ...

字面意思啊,就是仿真器无法运行预编译的模型啊,都编译过的只能在NPU运行。
想在仿真器运行就把pre_compile设成false
作者: zwj1234    时间: 2020-6-8 09:37
jefferyzhang 发表于 2020-6-6 17:06
字面意思啊,就是仿真器无法运行预编译的模型啊,都编译过的只能在NPU运行。
想在仿真器运行就把pre_comp ...

嗯,我知道仿真器无法运行预编译的模型,现在是在pc端转化模型,加预编译就会报这个错误
作者: jefferyzhang    时间: 2020-6-8 09:55
zwj1234 发表于 2020-6-8 09:37
嗯,我知道仿真器无法运行预编译的模型,现在是在pc端转化模型,加预编译就会报这个错误 ...

你们为什么总有自信觉得LOG打印是错的呢。。。
写了跟你说PC不能用pre_compile就是不能用啊。
你要跑3399pro上,就拷贝到3399pro上运行啊,要1808,target写成rk1808啊
作者: zwj1234    时间: 2020-6-8 10:22
现在是转化模型阶段,还没到运行阶段
[attach]1172[/attach]
建议在pc端用x86版本进行转化,之前也是在pc端开启预编译转化模型的,换了个pc机,显示错误,是想问在pc端转化模型需要装哪些包,不关运行模型的事,只是将模型转化为rknn







欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3