lmq5294249
lmq5294249
[ORTSuperResolution.zip](https://github.com/KaiyangZhou/deep-person-reid/files/11505935/ORTSuperResolution.zip) [detect 2.py.zip](https://github.com/KaiyangZhou/deep-person-reid/files/11505937/detect.2.py.zip) 在MAC上用osnet_x0_75_msmt17_combineall.onnx 测试两张不同图片,输出相似度很低0.47 但是在移动平台IOS上用ONNX检测不同图片输出结果相似度超级高0.92多 从结果来说 在移动平台的推测结果是错误??? 不明白这个是什么原因???
> 看这个项目是pytorch的啊,你用pnnx转下试试? > pyotrch -> torchscript -> pnnx/ncnn 怎么将模型由pyotrch 转为 torchscript模型,我试了网上的方法都是错误。可以写一个转换代码吗?
> 就是你搜一下以trace模式导出torchscript,这样 > 就是你搜一下以trace模式导出torchscript,这样 import torch import torchvision model = torch.load('/Users/lin/Desktop/deep-person-reid/tools/osnet_x0_75_msmt17_combineall.pth') model.eval() x = torch.rand(1, 3, 256, 128) script_model = torch.jit.trace(model, x) script_model = script_model.cpu() torch.save(script_model, 'osnet_x0_75_torchscript.pt') 然后报错 Traceback (most...
没处理完,目前是模型转为torchscript模型失败。我试着写由pyotrch 转为 torchscript模型,遇到各种问题,也查看了原项目的相关代码加以帮助还是有问题,我把一些代码发上来给大神们看看。。。 本人辣鸡小白,没试过这种转换方式pyotrch -> torchscript -> pnnx/ncnn 下面自己弄的代码求大神改一改。 https://kaiyangzhou.github.io/deep-person-reid/pkg/models.html [save_net.py.zip](https://github.com/Tencent/ncnn/files/11405046/save_net.py.zip) ----------------------------------------------------------------- 有没有大神试着在这个项目做下ONNX模型转NCNN模型测试,我也不确定是否是我写的代码有问题导致结果有问题。(ONNX自己转换后测试是OK的,NCNN模型转换也没遇到BUG,但是测试结果异常)
@wzyforgit @nihui
还没解决。估计我是解决不来 同一组图片onnx验证是对的。 [osnet_x0_75_msmt17_combineall.onnx.zip](https://github.com/Tencent/ncnn/files/11418986/osnet_x0_75_msmt17_combineall.onnx.zip) (https://github.com/Tencent/ncnn/files/11418898/osnet_x0_25_msmt17_combineall.onnx.zip)  但是从onnx转NCNN,我测试过其他的人形重识别其他开源项目的models也是有问题。 https://github.com/linghu8812/yolov5_fastreid_deepsort_tensorrt 然后用你提供的pt2torchscript,再用pnnx转为ncnn后也是错的。 同一组图片ONNX测试结果是0.4649 转为NCNN是测试结果是0.9883 离谱的要命,输出的数据也是很大不同。 我怀疑转NCNN时,部分算子异常了出错了。我试过用mobilenetv2模型结果也是错的。 
> 本辣鸡根据你给的链接,看到了它提供了推理的代码,其中需要的预处理是BGR->RGB,mean_vals=0.f norm_vals=1.f > 具体链接可以看[infer](https://github.com/JDAI-CV/fast-reid/blob/6300bd756e341ca180c60b8e07c218b9eb40664a/tools/deploy/onnx_inference.py#L51) > 至于问题2,怎么获取输入输出层名称,你可以用netron打开你转换出来的param文件,然后就能看到输入和输出blob的名称了 谢谢,我用你提供的参数谢了代码测试。    11 07 47](https://user-images.githubusercontent.com/16111670/233248922-4a1b670c-e11a-41ce-82ed-a22253ccb309.png) 我用netron打开param文件是可可以找到输入和输出blob的名称,但是我不确定我是否选错输出的blob,最后一层是输出485,但是测试输出貌似数据结构不对。麻烦帮我看一下输出是哪一个?谢谢 