zli20 / RtmDet_Snpe

RTMDET在snpe部署
1 stars 0 forks source link

onnx模型输出层是动态层,怎么去掉后处理部分 #1

Open Jay-Vim-Lv opened 2 months ago

Jay-Vim-Lv commented 2 months ago

您好,我也在尝试将mmdetection的rtmdet-ins_s模型转成snpe的dlc进行部署实验,但是官方的文档并没有直接转换的示例。 看到您也做过这个工作,想请教您mmdeploy只是将输入固定为静态层,输出还是动态层,怎么处理为静态图。 另外我也在尝试学习您的方法进行hardsigmoid自定义算子的实现。

Jay-Vim-Lv commented 2 months ago

另外还遇到一个问题,我使用的是snpe 2.11,mmdeploy默认的opset版本是11,但是snpe转的时候提示支持到9,但是我还成opset9,mmdeploy就无法成功转出onnx模型了,请问您是怎么解决这个问题的呢?

zli20 commented 1 month ago

snpe在进行模型转化时可以使用 --out_name指定转化到的层数,对于不支持的后处理部分,不进行转化,例如: snpe-onnx-to-dlc -i rtmpose_t_256_192_smi.onnx -o rtmpose_t_256_192_210.dlc --udo /home/zli/snpe/snpe-2.10.0.4541/udo/config/Hardsigmoid.json --out_name onnx::Transpose_428

zli20 commented 1 month ago

另外我在使用的时候,使用2.10版本snpe导出模型后,尽管后处理部分虽然动态层,也只是报出一个警告信息,实际参数是固定的,使用snpe推理也是可以得到结果的。

zli20 commented 1 month ago

另外还遇到一个问题,我使用的是snpe 2.11,mmdeploy默认的opset版本是11,但是snpe转的时候提示支持到9,但是我还成opset9,mmdeploy就无法成功转出onnx模型了,请问您是怎么解决这个问题的呢? 这个问题我目前没有遇到,onnx我都是直接从https://platform.openmmlab.com/deploee/onnx-list?search=rtmpose&tag=&page=1 下载的,优先下载标记为static的模型,一般都是可以导出成功的。