PaddlePaddle / PaddleX

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)
Apache License 2.0
4.92k stars 961 forks source link

表格识别模型微调过程Acc一直为0 #2460

Closed flow3rdown closed 1 week ago

flow3rdown commented 1 week ago

Checklist:

  1. 查找历史相关issue寻求解答
  2. 翻阅FAQ常见问题汇总和答疑
  3. 确认bug是否在新版本里还未修复
  4. 翻阅PaddleX 使用文档

描述问题

在Linux上微调Slanet plus模型,Acc一直为0,但是在mac或其他环境上跑acc是正常的

复现

  1. 您是否已经正常运行我们提供的教程

  2. 您是否在教程的基础上修改代码内容?还请您提供运行的代码

  3. 您使用的数据集是? 表格识别示例数据集以及自己的数据集都会出现acc为0的情况

  4. 请提供您出现的报错信息及相关log

环境

  1. 请提供您使用的PaddlePaddle和PaddleX的版本号 paddlefsl 1.1.0 paddlenlp 2.8.0.post0 paddleocr 0.1.0.dev1+geaef336 paddlepaddle-gpu 3.0.0b1 paddlex 3.0.0b1

  2. 请提供您使用的操作系统信息,如Linux/Windows/MacOS Linux

  3. 请问您使用的Python版本是? 3.10.6

  4. 请问您使用的CUDA/cuDNN的版本号是? 12.1

flow3rdown commented 1 week ago

用PaddleOCR直接训练Slanet plus acc是正常的,但是用PaddleX启动的话Acc一直是0,麻烦帮忙看看 @zhang-prog

zhang-prog commented 1 week ago

已收到问题,我这边晚些时候使用示例数据集复现一下试试,麻烦等待一下~

zhang-prog commented 1 week ago

问题已反馈,正在定位中,有进度我这边同步哈~

flow3rdown commented 1 week ago

找到原因了,PaddleX/paddlex/repo_apis/PaddleOCR_api/configs/SLANet_plus.yaml的keep_keys缺少'length'

zhang-prog commented 1 week ago

是的,我们也刚排查到这个问题,不加 length 会影响预测token的数量,导致acc全是0,我们晚些会修复,感谢反馈!

flow3rdown commented 1 week ago

还想请教一下想微调slanet_plus模型的话一般需要多少数据呀?微调的轮次和学习率怎么设置比较好呢? @zhang-prog

01sss commented 1 week ago

我添加了length训练的acc显示还是0

01sss commented 1 week ago

请问一下您是如何修改的呢

flow3rdown commented 1 week ago

请问一下您是如何修改的呢

这样修改:keep_keys: [ 'image', 'structure', 'bboxes', 'bbox_masks', 'length', 'shape' ]

liu-jiaxuan commented 1 week ago

还想请教一下想微调slanet_plus模型的话一般需要多少数据呀?微调的轮次和学习率怎么设置比较好呢?

因为表格识别是一个比较难的任务,因此在保证数据质量的前提下,表格数据越多越好,但是没有一个固定的数量,因为效果还取决于你的表格难度(例如复杂无线表难度>简单有线表)。轮次和学习率的话,可以先按照官方config来(如果你的batch size等超参修改了,需要把学习率等比例修改),如果效果不佳再尝试调整。

flow3rdown commented 1 week ago

还想请教一下想微调slanet_plus模型的话一般需要多少数据呀?微调的轮次和学习率怎么设置比较好呢?

因为表格识别是一个比较难的任务,因此在保证数据质量的前提下,表格数据越多越好,但是没有一个固定的数量,因为效果还取决于你的表格难度(例如复杂无线表难度>简单有线表)。轮次和学习率的话,可以先按照官方config来(如果你的batch size等超参修改了,需要把学习率等比例修改),如果效果不佳再尝试调整。

好的,感谢您的回复,最后问一下paddlex支持多机多卡训练吗?

01sss commented 1 week ago

请问一下您是如何修改的呢

这样修改:keep_keys: [ 'image', 'structure', 'bboxes', 'bbox_masks', 'length', 'shape' ]

好的,已成功解决,谢谢您

liu-jiaxuan commented 1 week ago

还想请教一下想微调slanet_plus模型的话一般需要多少数据呀?微调的轮次和学习率怎么设置比较好呢?

因为表格识别是一个比较难的任务,因此在保证数据质量的前提下,表格数据越多越好,但是没有一个固定的数量,因为效果还取决于你的表格难度(例如复杂无线表难度>简单有线表)。轮次和学习率的话,可以先按照官方config来(如果你的batch size等超参修改了,需要把学习率等比例修改),如果效果不佳再尝试调整。

好的,感谢您的回复,最后问一下paddlex支持多机多卡训练吗?

PaddleX暂时还没支持多机多卡,后续可以关注更新~