Closed ghost069 closed 1 month ago
模型: 链接:https://pan.baidu.com/s/1b_CuflX2ylmBIfXjJUYL9Q?pwd=ey1r 提取码:ey1r
1 可能问题 比对一下 onnx和ncnn输入图片之前的预处理图片数据是否一致 2 可能问题 onnx转ncnn 有算子不支持 错误或者用pnnx转模型试试 小老弟
1 可能问题 比对一下 onnx和ncnn输入图片之前的预处理图片数据是否一致 2 可能问题 onnx转ncnn 有算子不支持 错误或者用pnnx转模型试试 小老弟
这两个猜测不太可能哈。 首先,这两个Python文件在附录bug_report.zip里面是有的。里面的预处理方法是一致的。 其次,如果onnx转ncnn 有算子不支持,那么会在转的那一步就失败,目前的情况是在onnxsim之后转成功模型了,但是结果不一致。 不过pnnx是个方法,我会考虑尝试的。Thanks anyway!
1 可能问题 比对一下 onnx和ncnn输入图片之前的预处理图片数据是否一致 2 可能问题 onnx转ncnn 有算子不支持 错误或者用pnnx转模型试试 小老弟
这两个猜测不太可能哈。 首先,这两个Python文件在附录bug_report.zip里面是有的。里面的预处理方法是一致的。 其次,如果onnx转ncnn 有算子不支持,那么会在转的那一步就失败,目前的情况是在onnxsim之后转成功模型了,但是结果不一致。 不过pnnx是个方法,我会考虑尝试的。Thanks anyway!
onnxsim不要用--overwrite-input-shape试试
针对onnx模型转换的各种问题,推荐使用最新的pnnx工具转换到ncnn In view of various problems in onnx model conversion, it is recommended to use the latest pnnx tool to convert your model to ncnn
pip install pnnx
pnnx model.onnx inputshape=[1,3,224,224]
详细参考文档 Detailed reference documentation https://github.com/pnnx/pnnx https://github.com/Tencent/ncnn/wiki/use-ncnn-with-pytorch-or-onnx#how-to-use-pnnx
error log | 日志或报错信息 | ログ
无报错
context | 编译/运行环境 | バックグラウンド
Python 3.8.0 ncnn=1.0.20231027 onnxruntime=1.15.1
how to reproduce | 复现步骤 | 再現方法
1.运行python run_onnx_netvlad.py,输出结果如下
结果和原始模型结果基本一致
2.运行python run_ncnn_netvlad.py,输出结果如下
结果与步骤一完全不一致,而且结果均为0.32833463或者-0.32833463
more | 其他 | その他
1.生成NetVLAD-sim.onnx的方法为onnxsim NetVLAD.onnx NetVLAD-sim.onnx --overwrite-input-shape 1,3,480,640 2.生成NetVLAD-sim.param和NetVLAD-sim.bin的方法为./tools/onnx/onnx2ncnn NetVLAD-sim.onnx NetVLAD-sim.param NetVLAD-sim.bin 3.c++版本的ncnn运行此模型也会得到同样结果 bug_report.zip