Toybrick

rknn.inference 推論輸出解析

vernonlai

新手上路

积分
22
楼主
发表于 2023-11-7 14:20:59    查看: 1305|回复: 1 | [复制链接]    打印 | 只看该作者
Hi All

我這邊有將yolov5的模型轉成onnx後再轉成rknn
但我這邊再轉成rknn後推論出來的結果與yolov5的detect出來的結果不一樣
有人可以解釋rknn.inference出來的輸出該怎麼解析嗎?

謝謝大家
回复

使用道具 举报

jefferyzhang

版主

积分
12952
沙发
发表于 2023-11-7 20:44:05 | 只看该作者
假设有输入数据X,他的两种排列形式Xnchw和Xnhwc,以及模型前处理输入的均值和方差 means, stds
那么得出转换前onnx推理结果:

sess = onnxruntime.InferenceSession('model.onnx')
X = (Xnchw - means) / stds
Yonnx = sess.run(X)

和转换后rknn推理结果:

Yrknn = rknn.inference(Xnhwc)

那么:

Yonnx 就应该约等于(或者同样浮点精度下完全等于) Yrknn

计算两个结果的余弦距离就可以知道转换后的精度损失。

具体请参看rknntoolkit文档,有详细描述。
回复

使用道具 举报

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

本版积分规则

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


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