如何根据paddledetection生成的pdparams文件生成按层存放的模型文件
收藏
0
收藏
请登录后评论
以前用过,后来不用忘记了
这种散装的参数文件并非是pdparams格式,而是PaddlePaddle-1.x版本的模型格式,新版本PaddleDetection是不支持的。
比较建议的是,列出自己的最终目标是做什么,训练这种类型的模型是为了做服务端部署or移动端部署?还是另有其因?
例如:如果是现有的服务端部署中没有pdiparams的Demo,还是现有现有的服务端部署中不支持pdiparams,这些的解决问题方案是不一样的,所以有个清晰的最终目标则会更加有助于解决问题。
当然,想快速获取按层存放的散装模型也是可以的,但由于整体上属于旧版本的规格,所以难度较大不是很推荐,解决方案如下:
1. 降级PaddlePaddle以及PaddleDetection,这样默认就是这种散装的模型。
2. 修改PaddleDetection源码,使其通过该API进行模型导出:https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/static/save_inference_model_cn.html
在paddlehub部署时需要,官方的示例ssd_mobilenet_v1_model的模型文件是这样存放的,我看这种权重文件应该是二进制存放的,能不能直接根据pdparams导出这种按层存放的文件,就是先用paddle.load()读取pdparams,然后生成二进制权重文件