首页 PaddleX 帖子详情
paddlex模型裁剪
收藏
快速回复
PaddleX 问答视觉 3778 29
paddlex模型裁剪
收藏
快速回复
PaddleX 问答视觉 3778 29

按照paddlex官方文档中的描述(https://paddlex.readthedocs.io/zh_CN/develop/slim/prune.html),在对训练好的模型进行模型裁剪时出错,其中的第一和第二步均可正常执行,在第三步进行模型裁剪训练时出错,需要paddlepaddle 1.8.5版本。paddlex的模型裁剪只支持1.8.5版本的paddlepaddle吗?还有没有其他的要求?如paddlex的版本等。此外,对于在paddlelite下部署,对paddlelite的版本有要求吗?官方文档中没有具体说明,其中的坑太多了!对于具体的工程化实施影响很大。希望有经验的大咖给出解答。非常感谢!!

0
收藏
回复
全部评论(29)
时间顺序
深渊上的坑
#2 回复于2021-07

不是的

0
回复
深渊上的坑
#3 回复于2021-07

我刚写了个项目:PaddleX 2.0动态图体验:安全帽检测模型开发与部署

https://aistudio.baidu.com/aistudio/projectdetail/2179777

这个项目用的也是develop分支,最后模型裁剪可以正常运行啊

0
回复
深渊上的坑
#4 回复于2021-07
我刚写了个项目:PaddleX 2.0动态图体验:安全帽检测模型开发与部署 https://aistudio.baidu.com/aistudio/projectdetail/2179777 这个项目用的也是develop分支,最后模型裁剪可以正常运行啊
展开

不过这个是动态图项目,要在2.1.0环境完成安装

0
回复
深渊上的坑
#5 回复于2021-07

如果想要进行部署,而且是Paddle1.8.5的版本,建议用稳定的分支

0
回复
深渊上的坑
#6 回复于2021-07
如果想要进行部署,而且是Paddle1.8.5的版本,建议用稳定的分支

文档里有说明,建议切换到release/1.3分支

0
回复
深渊上的坑
#7 回复于2021-07

对于PaddleX在PaddleLite的部署,也可以参考这两个项目

手把手教你部署移动端迁移学习模型(PaddleX、Paddle-Lite)

https://aistudio.baidu.com/aistudio/projectdetail/613622

YoloV3检测模型在树莓派上的部署(PaddleX、PaddleLite)

https://aistudio.baidu.com/aistudio/projectdetail/1227445

0
回复
深渊上的坑
#8 回复于2021-07

如果是有部署需求的话,重点就是稳定,求稳不要求新。

Paddle 1.8.4/1.8.5 + PaddleX 1.3 + PaddleLite 2.6.1 是我之前验证过比较不会有问题的组合

0
回复
深渊上的坑
#9 回复于2021-07

还有就是提供了部署示例的Paddle-Lite-Demo项目 https://gitee.com/paddlepaddle/Paddle-Lite-Demo

好像更新到v2.8了,这意味着对应的Paddle-Lite版本也要用v2.8,当然配合Paddle 1.8.5 应该是没问题,而且PaddleX有自己的部署方式,也不需要用到这个项目。

0
回复
深渊上的坑
#10 回复于2021-07
如果是有部署需求的话,重点就是稳定,求稳不要求新。 Paddle 1.8.4/1.8.5 + PaddleX 1.3 + PaddleLite 2.6.1 是我之前验证过比较不会有问题的组合

PaddleX稳定部署,还是按这个文档来吧

deploy · PaddlePaddle/PaddleX 

https://gitee.com/paddlepaddle/PaddleX/tree/release/1.3/deploy

1
回复
飞桨_Paddle3D
#11 回复于2021-07

paddlex 1.3版本的剪裁和lite部署可以参考上面`深渊上的坑`给出的建议,对应的文档都在 https://paddlex.readthedocs.io/zh_CN/develop/。

当前paddlex已经全面升级动态图了,对应的文档位于 https://github.com/PaddlePaddle/PaddleX/tree/develop/dygraph#paddlex-使用文档,目前剪裁是支持的,但是paddlelite部署还在适配中。

0
回复
d
david6096g
#12 回复于2021-07

我使用paddlex的android例子程序和paddlelite 2.9版本跑通了yolov3的目标检测程序,并换成我自己训练的模型做了测试,但在rak3399上耗时太久了,有时候需要几十秒。而paddlelite的目标检测例子程序使用的是百度训练、裁剪后的yolov3-mobilnetv3的模型文件,在相同的硬件上只需要200多ms,所以我想对模型进行裁剪,在ai studio环境下,paddlepaddle 2.1+paddlex 1.3不行,paddlepaddle 1.8.4+paddlex 1.3好像也不行。按照你的项目中的描述,在ai studio环境中安装paddlepaddle 2.1+paddlex 2.0.0-rc版本时停在了"Building wheels for collected packages: opencv-python"处,安装不成功。而1.8.5版本的paddlepaddle在ai studio环境中好像之可以安装cpu版本,倒是可以和paddlex 1.3一起成功运行yolov3_prune_train.py脚本,但实在是太慢了。

0
回复
d
david6096g
#13 回复于2021-07

在ai studio环境paddlepaddle 2.1.0下使用pip install paddlex==2.0.0-rc3安装了paddlex 2.0.0-rc3,运行yolov3_train.py时出错:

Your running script needs PaddleX<2.0.0, please refer to https://github.com/PaddlePaddle/PaddleX/tree/release/2.0-rc/tutorials/train#%E7%89%88%E6%9C%AC%E5%8D%87%E7%BA%A7 to solve this issue.

稀奇古怪的问题

0
回复
d
david6096g
#14 回复于2021-07

使用2.0.0-rc下的训练脚本可以训练,但params_analysis.py又运行出错,module 'paddlex' has no attribute 'slim'。头大

0
回复
飞桨_Paddle3D
#15 回复于2021-07

这些报错极有可能是你的python环境里import的还是静态图版本的paddlex。先确认下paddlex 1.3版本的有没有卸载掉:

pip show paddx 或者 启动python环境之后,import paddlex print(paddlex.__version__)

卸载静态图版本的paddlex:pip uninstall paddlex

再重新安装paddlex 2.0.0rc3

0
回复
d
david6096g
#16 回复于2021-07

在ai studio环境中将paddlex 2.0.0-rc3安装于系统目录后使用https://aistudio.baidu.com/aistudio/projectdetail/2179777中提供的训练和裁剪脚本运行正常,我之前测试使用的是文档中提供的PaddleX/tutorials/slim/prune/object_detection目录下的脚本,看来Paddlex的1.3和2.0版本的API接口发生了变化,文档中并没有给出说明。但从结果看来,PaddleX 2.0版本的模型导出功能也发生了变化,生成的文件和1.3的也不相同。1.3版本导出模型可由paddlelite 2.9的opt导出为nb格式部署到paddlelite平台,2.0的推断模型导出结果和1.3的不同,怎样才能导出为paddlelite可用的nb格式模型文件?是否尚未提供支持?后续是否支持?谢谢

0
回复
深渊上的坑
#17 回复于2021-07

nb文件是不是还要看1.3?

0
回复
飞桨_Paddle3D
#18 回复于2021-07
在ai studio环境中将paddlex 2.0.0-rc3安装于系统目录后使用https://aistudio.baidu.com/aistudio/projectdetail/2179777中提供的训练和裁剪脚本运行正常,我之前测试使用的是文档中提供的PaddleX/tutorials/slim/prune/object_detection目录下的脚本,看来Paddlex的1.3和2.0版本的API接口发生了变化,文档中并没有给出说明。但从结果看来,PaddleX 2.0版本的模型导出功能也发生了变化,生成的文件和1.3的也不相同。1.3版本导出模型可由paddlelite 2.9的opt导出为nb格式部署到paddlelite平台,2.0的推断模型导出结果和1.3的不同,怎样才能导出为paddlelite可用的nb格式模型文件?是否尚未提供支持?后续是否支持?谢谢
展开

2.0版本是会支持的lite部署,目前也在我们的研发安排中

0
回复
深渊上的坑
#19 回复于2021-07
2.0版本是会支持的lite部署,目前也在我们的研发安排中

期待,不然现在部署还得用之前的版本

0
回复
d
david6096g
#20 回复于2021-07

之前的版本我试了,应该是paddlepaddle 1..8.5+paddlex 1.3才可以正常运行PaddleX/tutorials/slim/prune/object_detection目录下的脚本,但在ai studio环境下paddlepaddle 1.8.5只提供了gpu版本的安装。而paddlapaddle 1.8.5的gpu版本与2.0版本依赖的cuda和cudnn版本不同。部署起来很麻烦。希望尽快推出2.0版本的模型导出工具。文档也应该同步更新了,否则会误导很多人。

0
回复
d
david6096g
#21 回复于2021-07
之前的版本我试了,应该是paddlepaddle 1..8.5+paddlex 1.3才可以正常运行PaddleX/tutorials/slim/prune/object_detection目录下的脚本,但在ai studio环境下paddlepaddle 1.8.5只提供了gpu版本的安装。而paddlapaddle 1.8.5的gpu版本与2.0版本依赖的cuda和cudnn版本不同。部署起来很麻烦。希望尽快推出2.0版本的模型导出工具。文档也应该同步更新了,否则会误导很多人。
展开

但在ai studio环境下paddlepaddle 1.8.5只提供了cpu版本的安装。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户