PaddleSlim icon indicating copy to clipboard operation
PaddleSlim copied to clipboard

TinyPose qat全量化版本bug!

Open 2050airobert opened this issue 2 years ago • 17 comments

Hi, 1 请问下 TinyPose模型的自动化压缩代码无bug版本的整理好了吗? 2 是否有文档,确保过程无误? 3 coco数据集qat全量化后掉点多少,业务最终掉点多少呢? 多谢

2050airobert avatar Jul 11 '22 10:07 2050airobert

hello,anyone could help?

2050airobert avatar Jul 12 '22 06:07 2050airobert

@2050airobert

  1. TinyPose自动化压缩会在后面再优化,目前精度不达标,暂不开源。
  2. QAT全量化功能后续会支持,之后就可直接使用动态图QAT产出全量化模型。
  3. 目前只针对开源数据集,无业务。

yghstill avatar Jul 13 '22 08:07 yghstill

非常感谢,大佬 理解您的严格要求。不过能否把目前精度还可的版本打包发下? 或者有个稍微正式点的文档发下?尤其是一些细节的参数option 写清楚,多谢

2050airobert avatar Jul 13 '22 08:07 2050airobert

hi, 请问下大佬 python3 tools/export_model.py -c configs/keypoint/tiny_pose/tinypose_128x96.yml -o weights=https://bj.bcebos.com/v1/paddledet/models/keypoint/tinypose_128x96.pdparams \TestReader.fuse_normalize=False 这个命令对吗? 应该改为什么呢? 大佬可以在这里issue里面把步骤 完整说一遍吗?以及版本问题,我follow 大佬一遍应该就ok了,可以吗? 第二, image 这个对于我选择采用 coco train的数据集还是 val的数据集有影响吗?对于map指标? BR

2050airobert avatar Jul 13 '22 08:07 2050airobert

hi, 按照您的指示, image 评估的map指标越来越低,最后到了0附近了,不知道您怎么看? 您说的掉10个点的版本是在哪呢? 多谢 BR

2050airobert avatar Jul 13 '22 10:07 2050airobert

tinypose_act.tar.gz 在COCO上的config、weight及log已打包,可以验证下正确性。

yghstill avatar Jul 14 '22 03:07 yghstill

好的,收到

2050airobert avatar Jul 14 '22 03:07 2050airobert

1 唯一的改动就是我的coco 目录改了一下 ,纯粹为了能找到image 和 json image 你看下这样改有问题吗? 2 我的slim版本是2.3 git pull下来前天最新的。 detection2.4/release 也是前几天git pull下来最新的。 都是采用python setup.py install安装 还有哪里可能不匹配呢? 如果都匹配,那么log应该跟您给我的差不多 对吧?

2050airobert avatar Jul 14 '22 03:07 2050airobert

1 最新进展 训练过程中的中间结果看起来ok的, image

2 我怀疑就是你的这个tinypose的原始 model pdiparam 跟我的不一样,请问下如何导出你的这个模型,pdet的配置文件以及导出说明可以打包发下嘛? 多谢 备注:下面是我用的yml和权重文件,不知道哪里有问题呢? python3 tools/export_model.py -c https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.4/configs/keypoint/tiny_pose/tinypose_128x96.yml \ -o weights=https://paddledet.bj.bcebos.com/models/picodet_s_320_coco.pdparams

2050airobert avatar Jul 14 '22 04:07 2050airobert

python3.7 tools/export_model.py -c configs/keypoint/tiny_pose/tinypose_128x96.yml -o weights=https://bj.bcebos.com/v1/paddledet/models/keypoint/tinypose_128x96.pdparams

yghstill avatar Jul 14 '22 04:07 yghstill

sorry 发错了,我用的确实是这个 1 python3 tools/export_model.py -c configs/keypoint/tiny_pose/tinypose_128x96.yml
-o weights= https://bj.bcebos.com/v1/paddledet/models/keypoint/tinypose_128x96.pdparams --output_dir=output_inference_tinypose0714-ok 就是后面加了个保存路径,那我再export 试下哈 2 唯一的区别是 我运行qat 训练时,加了个保存目录 python3 run.py --config_path=./configs/tinypose_qat_dis.yaml --save_dir='./output0714/' 备注: 这是我转出来的tinypose128X96的模型文件,除了yml,其他三个为啥比你的看起来要大呢 ? tinypose_128x96-lcl.zip 这是 我的 pdet 2.4 工程下的 configs/keypoint/tiny_pose/tinypose_128x96.yml tinypose_128x96-yml-lcl.zip

2050airobert avatar Jul 14 '22 05:07 2050airobert

@yghstill 我现在很肯定问题在哪了,其实问题在于我用的最新的ppdetection 2.4/release版本,python3 tools/export_model.py -c configs/keypoint/tiny_pose/tinypose_128x96.yml -o weights= https://bj.bcebos.com/v1/paddledet/models/keypoint/tinypose_128x96.pdparams --output_dir=output_inference_tinypose0714-ok 导出之后的网络模型跟你给我的模型不一样,这个问题怎么解决,有什么建议吗? BR

2050airobert avatar Jul 14 '22 06:07 2050airobert

@yghstill 我现在很肯定问题在哪了,其实问题在于我用的最新的ppdetection 2.4/release版本,python3 tools/export_model.py -c configs/keypoint/tiny_pose/tinypose_128x96.yml -o weights= https://bj.bcebos.com/v1/paddledet/models/keypoint/tinypose_128x96.pdparams --output_dir=output_inference_tinypose0714-ok 导出之后的网络模型跟你给我的模型不一样,这个问题怎么解决,有什么建议吗? BR

麻烦把两个模型上传,或者可以看下tinypose里面导出模型部分的介绍。

leiqing1 avatar Jul 14 '22 06:07 leiqing1

sorry 发错了,我用的确实是这个 1 python3 tools/export_model.py -c configs/keypoint/tiny_pose/tinypose_128x96.yml -o weights= https://bj.bcebos.com/v1/paddledet/models/keypoint/tinypose_128x96.pdparams --output_dir=output_inference_tinypose0714-ok 就是后面加了个保存路径,那我再export 试下哈 2 唯一的区别是 我运行qat 训练时,加了个保存目录 python3 run.py --config_path=./configs/tinypose_qat_dis.yaml --save_dir='./output0714/' 备注: 这是我转出来的tinypose128X96的模型文件,除了yml,其他三个为啥比你的看起来要大呢 ? tinypose_128x96-lcl.zip 这是 我的 pdet 2.4 工程下的 configs/keypoint/tiny_pose/tinypose_128x96.yml tinypose_128x96-yml-lcl.zip 我的转换命令跟你们给出的几乎没区别,请看我的回复,多谢啦 我转换出来的模型在这里,你发我的模型在广华最开始的链接,你看下 大佬

建议: 您完全可以把您使用的pp detection打包给我下,不一定非要合入tag,您看行吗?

2050airobert avatar Jul 14 '22 07:07 2050airobert

sorry 发错了,我用的确实是这个 1 python3 tools/export_model.py -c configs/keypoint/tiny_pose/tinypose_128x96.yml -o weights= https://bj.bcebos.com/v1/paddledet/models/keypoint/tinypose_128x96.pdparams --output_dir=output_inference_tinypose0714-ok 就是后面加了个保存路径,那我再export 试下哈 2 唯一的区别是 我运行qat 训练时,加了个保存目录 python3 run.py --config_path=./configs/tinypose_qat_dis.yaml --save_dir='./output0714/' 备注: 这是我转出来的tinypose128X96的模型文件,除了yml,其他三个为啥比你的看起来要大呢 ? tinypose_128x96-lcl.zip 这是 我的 pdet 2.4 工程下的 configs/keypoint/tiny_pose/tinypose_128x96.yml tinypose_128x96-yml-lcl.zip 我的转换命令跟你们给出的几乎没区别,请看我的回复,多谢啦 我转换出来的模型在这里,你发我的模型在广华最开始的链接,你看下 大佬

建议: 您完全可以把您使用的pp detection打包给我下,不一定非要合入tag,您看行吗?

tinypose_128x96-yml-lcl.zip 这个压缩包里面只有yaml文件,没有模型文件。

leiqing1 avatar Jul 14 '22 09:07 leiqing1

1 建议您仔细看下 tinypose_128x96-lcl.zip tinypose_128x96-yml-lcl.zip 这是两个包,你要的都在,对吗?

2 这是guanghua 大佬提供的包 tinypose_act.tar.gz 在COCO上的config、weight及log已打包,可以验证下正确性。

2050airobert avatar Jul 14 '22 09:07 2050airobert

Hi 大佬 我确实使用的都是guanghua 推荐的版本啊,但是 在pddet 2.4 版本目录下/app_lcl/PaddleDetection_2.4/PaddleDetection,运行 python3 tools/export_model.py -c configs/keypoint/tiny_pose/tinypose_128x96.yml -o weights=https://bj.bcebos.com/v1/paddledet/models/keypoint/tinypose_128x96.pdparams --output_dir=output_inference_tinypose0718-3 结果还是跟他生成并发给我的 模型大小不一样,而且之后用它的qat量化程序跑,结果也差距很大!!!

具体 export出来的四个文件,除了yml一样,其他三个大小都比他给我的要大一些 明显的 ,如下图所示: 9d12e44e45c26353b8be56dfb710cfc BR

2050airobert avatar Jul 19 '22 02:07 2050airobert

hello @yghstill Any thing of tinypose qat updated? tinypose qat 和全量化分别有相应的进展和发布吗? 或者年底有计划了吗 BR

2050airobert avatar Oct 31 '22 11:10 2050airobert

@2050airobert 大佬你好! 翻issue经常看到您的回复,所以斗胆请教您几个问题,希望不要介意。

是这样的,我最近在试着用paddlelite将tinypose部署在npu板子上的test,得知tinypose可能需要全量化才能进行下去,所以是否需要对tinypose的源数据集(coco+aic)进行训练才能进行全量化? 但数据集貌似太大,自己训练成本可能过高,而且我看paddleDetection文档也没有提供数据集的下载地址,找过的一个aic的数据集结果对不上json所以无法进行训练;

或者是否可以直接使用文档提供好的.pdmodel和.pdiparams可以直接用paddleslim量化?大概的步骤应该怎么做呢?

如果您有看到这条消息,烦请您抽出一点时间指教两句,我将感激不尽。 BR

Syunraii avatar Nov 28 '22 10:11 Syunraii

@yghstill 您好,TinyPose的ptq量化测试精度的参考代码有提供吗?

APeiZou avatar Mar 27 '23 11:03 APeiZou