飞桨PaddleOCR的Kie训练-RE训练报错: KeyError: 'NONE'或KeyError: 'B-NONE'

问题描述

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

...
, 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 transform
    data = 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_label
    gt_label.append(self.label2id_map[("b-" + label).upper()])
KeyError: 'B-NONE'

image.png

问题分析

查了很多资料,也没有找到具体的解决方案,安装官方示例对比,发现可能是我使用PPOCRLabel进行打标,而PPOCR打标工具生成的Label.txt文件缺少了训练必须的属性。

解决方案

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

每个文本行字段中,需要添加id与linking字段信息,id记录该文本行的唯一标识,同一张图片中的不同文本内容不能重复,linking是一个列表,记录了不同文本之间的连接信息。

标准格式

" 图像文件名                 图像标注信息 "
zh_train_0.jpg   [{"transcription": "汇丰晋信", "label": "other", "points": [[104, 114], [530, 114], [530, 175], [104, 175]], "id": 1, "linking": []}, {"transcription": "受理时间:", "label": "question", "points": [[126, 267], [266, 267], [266, 305], [126, 305]], "id": 7, "linking": [[7, 13]]}, {"transcription": "2020.6.15", "label": "answer", "points": [[321, 239], [537, 239], [537, 285], [321, 285]], "id": 13, "linking": [[7, 13]]}]
]
...

总结

使用PPOCRLabel标注不能直接生成RE训练的文件,需要对标注文件进行修改,添加一些必要的属性,如id:,label,linking等属性,还需要注意id不能重复。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容