Toybrick

标题: rv1126开发板runtime精度异常,跪求各位大佬帮忙!!! [打印本页]

作者: SuperDuck    时间: 2023-2-2 15:56
标题: rv1126开发板runtime精度异常,跪求各位大佬帮忙!!!
请问一下各位大佬,使用rv1126进行连板精度分析,发现算出来的模拟器精度和连板精度相差很大,如图是模拟器和rv1126板子的精度分析,可以看出npu下的余弦距离相差较大,所以请问一下各位大佬,这种情况一般是什么原因导致?如何解决呢?


作者: jefferyzhang    时间: 2023-2-2 17:07
这只有一种可能,你板子上运行结果就是错的,既然结果都是错的,你算精度有啥用.
运行结果和模拟器不一致得先去调试为什么结果不对,比较可能的是你api版本(rknntoolkit版本)和drv版本根本不匹配
作者: SuperDuck    时间: 2023-2-2 17:24
jefferyzhang 发表于 2023-2-2 17:07
这只有一种可能,你板子上运行结果就是错的,既然结果都是错的,你算精度有啥用.
运行结果和模拟器不一致得 ...

API 和 DRV的版本是对的上的 都是 1.7.3 ,  板子上运行结果如果是错的话应该是无法检出的吧?但是检测是正常的,只是box的误差稍大,不知道有啥办法优化。还是连板调试的步骤或代码有问题,导致精度算不准?
作者: SuperDuck    时间: 2023-2-2 17:27
jefferyzhang 发表于 2023-2-2 17:07
这只有一种可能,你板子上运行结果就是错的,既然结果都是错的,你算精度有啥用.
运行结果和模拟器不一致得 ...

如图所示,它报这个input[0] channel nummber > 128 这行我不是很理解,请问是为什么呢?


作者: jefferyzhang    时间: 2023-2-2 17:42
SuperDuck 发表于 2023-2-2 17:27
如图所示,它报这个input[0] channel nummber > 128 这行我不是很理解,请问是为什么呢?

...

看过去转换的模型不太对,你模型输入是3通道么,转换时候设置std和mean了么
作者: jefferyzhang    时间: 2023-2-2 17:44
本帖最后由 jefferyzhang 于 2023-2-2 18:09 编辑
SuperDuck 发表于 2023-2-2 17:24
API 和 DRV的版本是对的上的 都是 1.7.3 ,  板子上运行结果如果是错的话应该是无法检出的吧?但是检测是 ...

还有你比后处理过的数据干嘛,为什么不直接对比模型output的数字,错的就是错的,跟box什么关系。同一个rknn模型哪怕你模拟器算出来是1,板子运行是1.001,他都是错的。
两边输出不一致就是有问题了,至少要保证输出一致

作者: SuperDuck    时间: 2023-2-2 18:37
jefferyzhang 发表于 2023-2-2 17:42
看过去转换的模型不太对,你模型输入是3通道么,转换时候设置std和mean了么 ...

已经设置过std 和 mean的了
作者: SuperDuck    时间: 2023-2-2 18:39
jefferyzhang 发表于 2023-2-2 17:44
还有你比后处理过的数据干嘛,为什么不直接对比模型output的数字,错的就是错的,跟box什么关系。同一个rk ...

模型的output数字是看哪个呢?
作者: jefferyzhang    时间: 2023-2-2 19:04
SuperDuck 发表于 2023-2-2 18:39
模型的output数字是看哪个呢?

你直接rknn放板子上跑下看下对不对,别老连板测试,如果你mean std设置了,这里报的错就是设置没生效造成的。
推理送进去一张图出来一个output,看下值对不对啊。
仿真和实机运行结果一定是一样的,一个小数都不能差。
作者: SuperDuck    时间: 2023-2-3 16:56
jefferyzhang 发表于 2023-2-2 19:04
你直接rknn放板子上跑下看下对不对,别老连板测试,如果你mean std设置了,这里报的错就是设置没生效造成 ...

仿真是看entire_qnt 还是individial_qnt的输出对比呢?我对比了两个,发现和板端输出的output都不一样,不知道是不是解析顺序有问题?
作者: jefferyzhang    时间: 2023-2-3 17:05
SuperDuck 发表于 2023-2-3 16:56
仿真是看entire_qnt 还是individial_qnt的输出对比呢?我对比了两个,发现和板端输出的output都不一样, ...

模型运行结果都错了,对比精度有什么意义呢。。。
你不能先试试板子上能正常运行这个模型吗,干嘛老纠结这个精度对比
作者: SuperDuck    时间: 2023-2-3 17:05
jefferyzhang 发表于 2023-2-2 19:04
你直接rknn放板子上跑下看下对不对,别老连板测试,如果你mean std设置了,这里报的错就是设置没生效造成 ...

模拟器端对图片的resize和板端的resize不是同一个,这个会导致输入到模型的输入会不一致的吧,这样最终输出是不是也是会有差异?
作者: jefferyzhang    时间: 2023-2-3 17:30
SuperDuck 发表于 2023-2-3 17:05
模拟器端对图片的resize和板端的resize不是同一个,这个会导致输入到模型的输入会不一致的吧,这样最终输 ...

你可以喂和输入一样大的图片啊,就不存在resize了啊
作者: SuperDuck    时间: 2023-2-3 18:39
jefferyzhang 发表于 2023-2-3 17:05
模型运行结果都错了,对比精度有什么意义呢。。。
你不能先试试板子上能正常运行这个模型吗,干嘛老纠结 ...

我在板子上运行是正常的呀,就是框的box误差大了一点




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