PaddleOCR关键信息抽取(KIE)的训练(SER训练和RE训练)错误汇总
创始人
2024-06-01 01:28:05
0

1.SER训练报错: SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception

1.1.问题描述

在执行训练任务的时候报错
单卡训练

python3 tools/train.py -c train_data/my_data/ser_vi_layoutxlm_xfund_zh.yml

错误信息如下:

Traceback (most recent call last):File "/root/anaconda3/envs/paddle38/lib/python3.8/threading.py", line 932, in _bootstrap_innerself.run()File "/root/anaconda3/envs/paddle38/lib/python3.8/threading.py", line 870, in runself._target(*self._args, **self._kwargs)File "/root/anaconda3/envs/paddle38/lib/python3.8/site-packages/paddle/fluid/dataloader/dataloader_iter.py", line 536, in _thread_loopbatch = self._get_data()File "/root/anaconda3/envs/paddle38/lib/python3.8/site-packages/paddle/fluid/dataloader/dataloader_iter.py", line 638, in _get_dataraise RuntimeError("DataLoader {} workers exit unexpectedly, " \
RuntimeError: DataLoader 1 workers exit unexpectedly, pids: 1129
Traceback (most recent call last):File "tools/train.py", line 208, in main(config, device, logger, vdl_writer)File "tools/train.py", line 180, in mainprogram.train(config, train_dataloader, valid_dataloader, device, model,File "/paddle/PaddleOCR/tools/program.py", line 258, in trainfor idx, batch in enumerate(train_dataloader):File "/root/anaconda3/envs/paddle38/lib/python3.8/site-packages/paddle/fluid/dataloader/dataloader_iter.py", line 745, in __next__self._reader.read_next_list()[0])
SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception.[Hint: Expected killed_ != true, but received killed_:1 == true:1.] (at /paddle/paddle/fluid/operators/reader/blocking_queue.h:175)

在这里插入图片描述

1.2.问题分析

网上查了很多资料,结果都无法解决,然后认真分析错误日志以及官网提供的测试数据XFUND/zh_train/train.json文件和我们使用PPOCRLabel打标后生成的Label.txt文件,发现我们的Label.txt文件中每一个标注都缺少一个label属性。

1.3.解决方案

编辑我们的Label.txt文件,在"points"字段前添加一个"label"字段。

我直接做了一个字符串替换

替换的字符串: , “points”
替换后的字符串: ,“label”: “other”, “points”

最终的效果是
在这里插入图片描述

每一个识别的box都需要有一个label字段。

添加完成以后,再次执行,成功训练完成。

2. RE训练报错: KeyError: ‘linking’

2.1.问题分析

同上的问题一样,我们的Label.txt文件中每一个标注都缺少一个linking属性。

2.2.解决方案

编辑我们的Label.txt文件,在"points"字段前添加一个"linking"字段。

我直接做了一个字符串替换

替换的字符串: , “points”
替换后的字符串: ,“linking”: [], “points”
在这里插入图片描述

3.RE训练报错: KeyError: 'NONE’或KeyError: ‘B-NONE’

3.1.问题描述

在执行re训练的时候报错:
执行脚本:

vim train_data/myimgs/re_vi_layoutxlm_xfund_zh.yml

错误信息:

, error happened with msg: Traceback (most recent call last):File "/paddle/PaddleOCR/ppocr/data/simple_dataset.py", line 137, in __getitem__outs = transform(data, self.ops)File "/paddle/PaddleOCR/ppocr/data/imaug/__init__.py", line 56, in transformdata = op(data)File "/paddle/PaddleOCR/ppocr/data/imaug/label_ops.py", line 1093, in __call__gt_label = self._parse_label(label, encode_res)File "/paddle/PaddleOCR/ppocr/data/imaug/label_ops.py", line 1177, in _parse_labelgt_label.append(self.label2id_map[("b-" + label).upper()])
KeyError: 'B-NONE'

在这里插入图片描述

3.2.问题分析

查看了一下是/paddle/PaddleOCR/ppocr/data/imaug/label_ops.py文件报错,打开看了一下,发现里面的label写法是固定的,只有[“other”, “others”, “ignore”]这几个,其他的标签都会报错。

3.3.解决方案

修改label_ops.py文件

vim  /paddle/PaddleOCR/ppocr/data/imaug/label_ops.py   

根据错误提示,大概在1177行

修改前的内容:

def _parse_label(self, label, encode_res):gt_label = []if label.lower() in ["other", "others", "ignore"]:gt_label.extend([0] * len(encode_res["input_ids"]))else:gt_label.append(self.label2id_map[("b-" + label).upper()])gt_label.extend([self.label2id_map[("i-" + label).upper()]] *(len(encode_res["input_ids"]) - 1))return gt_label

修改后的内容:

def _parse_label(self, label, encode_res):gt_label = []if label.lower() in ["other", "others", "ignore","header","question","answer","none","key","value"]:gt_label.extend([0] * len(encode_res["input_ids"]))else:gt_label.append(self.label2id_map[("b-" + label).upper()])gt_label.extend([self.label2id_map[("i-" + label).upper()]] *(len(encode_res["input_ids"]) - 1))return gt_label

在这里插入图片描述

相关内容

热门资讯

摸摸你的腰mp3 摸摸你的腰mp3摸摸你的腰mp3... 摸摸你的腰mp3 展开 好多水我摸摸你的头好温柔,我...
最近书荒啊,谁有没有好看的言情... 最近书荒啊,谁有没有好看的言情小说介绍一些啊!不配【有三部】,赶夫上轿【轻松】,南风过境【宠文】,花...
金饰克价再次涨至1000元!黄... 本文来自微信公众号“大象新闻”6月30日,现货黄金盘中一度跌至一个月内新低,随后开始大幅反弹,收报3...
西安警方回应“中华田园犬禁养”... 6月30日,网传陕西省西安市公安局限制养犬管理办公室发布的“重点限养区禁止饲养烈性犬和大型犬”图片引...
小学生常常以教师的行为为榜样,... 小学生常常以教师的行为为榜样,教师也处处表现出对表现好的学生的喜爱和认可,学生从中获得派生地位。这种...
香港维持对日本水产进口管制 作者 | 《财经》特派香港记者 焦建 编辑 | 苏琦  日本水产及日式料理多年来受港人追捧,日本水产...
成都先导终止收购海纳医药65%... 6月30日,成都先导药物开发股份有限公司(以下简称“成都先导”)宣布,因未能就交易事项的核心条款达成...
11岁女孩身高137cm,警惕...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 转自:医学界*仅供医...
《勇气》阅读题理解 《勇气》阅读题理解 19世纪,在英国的名门公立学校—哈罗学校常常会出现以强凌弱、以大欺小的事情。...
建设银行再创历史新高!牵手“山...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!   中国基金报记者 ...