Toybrick

标题: rknn_output [打印本页]

作者: aurora    时间: 2023-6-9 17:31
标题: rknn_output
在rk3399pro debain10 下

同一个模型, python版 推理结果正确;

改写为C++版后,rknn_output[0] (坐标值xywh)输出的值不对,如下:
rknn_output[1], 分类的输出值同样也不对。

"
std::cout << "dets_num: " << m_outputs[0].size / 4 << std::endl;
float * outputs_reg = (float *) m_outputs[0].buf;
float * outputs_cls = (float *) m_outputs[1].buf;
for(int index = 0; index < m_outputs[0].size; index++)
{
    cout << "value reg: " << outputs_reg[index] << endl;
}
"


value reg: 2.3695e-38
value reg: 2.36943e-38
value reg: 2.36943e-38
value reg: 9.55118e-38
value reg: 9.55118e-38
value reg: 2.36943e-38
value reg: 2.36936e-38
value reg: 3.60134e-43
value reg: 2.35106e-38
value reg: 2.35106e-38
value reg: 2.36943e-38
value reg: 2.36943e-38
value reg: 2.36943e-38
value reg: 2.36943e-38
value reg: 2.36943e-38
value reg: 2.42453e-38
value reg: 2.36943e-38
value reg: 2.36943e-38
value reg: 2.3695e-38
value reg: 2.36943e-38
value reg: 2.36943e-38


各位大佬,出现这种情况都有那些原因,



作者: jefferyzhang    时间: 2023-6-15 09:24
1. python sdk调用的也是同一个so,同一个版本情况下不存在python和c结果不一样情况,只可能你代码写的不一样。
2. 核对rknn api版本是不是和rknn driver版本一致
3. 先枚举output attr变量看下他的输出、类型、格式 是不是和你期望一样,别急着打value
4. want_float和format是否是你期望的
作者: aurora    时间: 2023-6-15 22:07
jefferyzhang 发表于 2023-6-15 09:24
1. python sdk调用的也是同一个so,同一个版本情况下不存在python和c结果不一样情况,只可能你代码写的不一 ...

感谢,已解决。




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