PaddleDetection
PaddleDetection copied to clipboard
faster_rcnn_swin_tiny_fpn_3x_coco无法导出ONNX
问题确认 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!
很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。
很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。
infer可以导出onnx吗?我没有试过 我直接用paddleDetection训练好的权重文件进行部署是没有问题的。 可是我需要onnx文件
很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。
能上个图看看嘛
很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。
infer可以导出onnx吗?我没有试过 我直接用paddleDetection训练好的权重文件进行部署是没有问题的。 可是我需要onnx文件
这个你咨询一下paddle2onnx 看看有什么解决方案没
很显然,这些算子目前不支持,所以没法导出。 我训练出来的模型用tools/infer.py出来的可视化图好像差了点,bbox对不上,感觉有个固定偏差,不知道你的有没有问题。
能上个图看看嘛
仔细看了一下box数据,应该是图片padding的时候是居中padding,然后计算坐标的时候当做左上角padding了,这个改哪里有知道的吗?
哪里有配置文件所有参数使用说明吗?
这个感觉可以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}