PaddleDetection icon indicating copy to clipboard operation
PaddleDetection copied to clipboard

faster_rcnn_swin_tiny_fpn_3x_coco无法导出ONNX

Open wobenxiaoyaoKurt opened this issue 3 years ago • 7 comments

问题确认 Search before asking

  • [X] 我已经搜索过问题,但是没有找到解答。I have searched the question and found no related answer.

请提出你的问题 Please ask your question

在以往的Issues中看到了一些类似的问题,可是我还是没有解决。 我的导出流程如下: 1.设置配置文件 faster_rcnn_swin_tiny_fpn_3x_coco.yml export_onnx: True batch_size: 1 2.运行paddleDetection的export_model.py !python tools/export_model.py -c configs/faster_rcnn/faster_rcnn_swin_tiny_fpn_3x_coco.yml
-o weights=output/faster_rcnn_swin_tiny_fpn_3x_coco/model_final.pdparams
--output_dir inference_model 3.安装paddle2onnx pip install paddle2onnx 版本为1.0.0 4.导出ONNX !paddle2onnx --model_dir inference_model/faster_rcnn_swin_tiny_fpn_3x_coco
--model_filename model.pdmodel
--params_filename model.pdiparams
--opset_version 16
--enable_dev_version False
--enable_onnx_checker True
--save_file faster_rcnn.onnx 5.结果报错 There's 7 ops are not supported yet =========== lod_array_length =========== =========== conditional_block =========== =========== select_input =========== =========== pad =========== =========== tensor_array_to_tensor =========== =========== while =========== =========== write_to_array ===========

按照之前的Issue都是设置export_onnx: True就可以了,不知道我的为何依然缺少ops? 请大家帮帮我,Thanks!

wobenxiaoyaoKurt avatar Sep 13 '22 03:09 wobenxiaoyaoKurt

很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。

LLsmile avatar Sep 13 '22 08:09 LLsmile

很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。

infer可以导出onnx吗?我没有试过 我直接用paddleDetection训练好的权重文件进行部署是没有问题的。 可是我需要onnx文件

wobenxiaoyaoKurt avatar Sep 13 '22 08:09 wobenxiaoyaoKurt

很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。

能上个图看看嘛

lyuwenyu avatar Sep 13 '22 09:09 lyuwenyu

很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。

infer可以导出onnx吗?我没有试过 我直接用paddleDetection训练好的权重文件进行部署是没有问题的。 可是我需要onnx文件

这个你咨询一下paddle2onnx 看看有什么解决方案没

lyuwenyu avatar Sep 13 '22 09:09 lyuwenyu

很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。

能上个图看看嘛

仔细看了一下box数据,应该是图片padding的时候是居中padding,然后计算坐标的时候当做左上角padding了,这个改哪里有知道的吗?

LLsmile avatar Sep 13 '22 10:09 LLsmile

哪里有配置文件所有参数使用说明吗?

LLsmile avatar Sep 13 '22 10:09 LLsmile

这个感觉可以LetterBoxResize时候不居中就好了 deploy/python/preprocess.py里的 但是里面是写死的 得改一下代码;感觉可以用Resize和Pad代替那个LetterBoxResize 那个Pad是左上角的

把这行https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/configs/faster_rcnn/base/faster_rcnn_swin_reader.yml#L36 改成下面的形式

 - Resize: {interp: 2, target_size: 640, keep_ratio: True}
 - Pad: {size: 640}

lyuwenyu avatar Sep 13 '22 12:09 lyuwenyu