1 Star 0 Fork 5

CpDec / Paddle2ONNX

forked from PaddlePaddle / Paddle2ONNX 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 1.60 KB
一键复制 编辑 原始数据 按行查看 历史
yeliang2258 提交于 2022-10-24 10:07 . fix doc and add tools (#929)

Paddle 模型优化工具

1. 裁剪 Paddle 模型

部分场景下,我们可能只需要原 Paddle 模型中的一部分,因此可以通过以下方式,指定输出,进行模型裁剪(需要注意的是,如若裁剪后,输出不依赖某个模型输入,那么此模型输入也会被裁掉)

python prune_paddle_model.py --model_dir original_paddle_model  \
                             --model_filename model.pdmodel \
                             --params_filename model.pdiparams \
                             --output_names unsqueeze2_0.tmp_0 unsqueeze2_0.tmp_0 \
                             --save_dir new_paddle

其中--output_names可指定多个输出

2. 修改 Paddle 模型输入 Shape

以 OCR 模型为例,点击下载 OCR 的检测模型,通过 Netron 可视化这个模型,可以看到其输入名为 x,形状为 [-1, 3, 960, 960] ( ? 即为 -1 ) image-20220331162225040

事实上,这个模型的结构是可以支持动态形态输入的,我们使用 paddle_infer_shape.py 脚本进行重新导出模型,再通过 Netron 查看模型,可以看到新模型的输入输出都已经更新了

python paddle_infer_shape.py --model_dir ch_PP-OCRv2_det_infer/ \
                             --model_filename inference.pdmodel \
                             --params_filename inference.pdiparams \
                             --save_dir new_model \
                             --input_shape_dict="{'x':[-1,3,-1,-1]}"

image-20220331165925526

1
https://gitee.com/martinfields/Paddle2ONNX.git
git@gitee.com:martinfields/Paddle2ONNX.git
martinfields
Paddle2ONNX
Paddle2ONNX
develop

搜索帮助