ShiqiYu / libfacedetection.train

The training program for libfacedetection for face detection and 5-landmark detection.
Apache License 2.0
774 stars 209 forks source link

关于Onnx 模型无法在前端的Onnxruntime-web上正常使用的问题 #60

Open dayzorro opened 2 years ago

dayzorro commented 2 years ago

余老师您好,我在下载了您的开源项目之后想要尝试把onnx模型部署到VUE上并做一个demo的展示。目前我使用的Node.js是1.16.1,onnxruntime是最新的1.12.1.在这个过程中我发现,使用项目自带的onnx会遇到两个问题: 1.需要把INT64转换成INT32.这个比较好处理。我在opset_version等参数不变的情况下,把模型的params和Nodes都换成了精度是INT32的。 2.然后,我就发现,您提供的ONNX似乎在JS上仍然不是很兼容。具体错误如下图:

image

我还尝试在您的代码上把上采样的方法改写,不进行任何操作而直接返回一个符合上采样尺寸大小的torch.ones()。但前端还是会出现Shape的错误。这个有什么好方法或者建议去解决吗? image

Wwupup commented 2 years ago

你好,我还没有尝试过Web端推理。但是我看了下报错原因应该是tfpn模块的上采样操作的问题。你可以尝试将nearest改成bilinear或者其他mode再导出为onnx来进行推理。 https://github.com/ShiqiYu/libfacedetection.train/blob/68073e86fdc56014df47deb21cc1a340d66e0bb1/mmdet/models/necks/tfpn.py#L33-L40