位置: IT常识 - 正文

【PaddleOCR-kie】一、关键信息抽取:使用VI-LayoutXLM模型推理预测(SER+RE)(paddle!)

编辑:rootadmin
【PaddleOCR-kie】一、关键信息抽取:使用VI-LayoutXLM模型推理预测(SER+RE)

推荐整理分享【PaddleOCR-kie】一、关键信息抽取:使用VI-LayoutXLM模型推理预测(SER+RE)(paddle!),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:paddle detection,paddleocr使用教程,paddle detection,paddle!,paddle oar,paddle!,paddlerocr,paddleocr api,内容如对您有帮助,希望把文章链接给更多的朋友!

背景:在训练自己数据集进行kie之前,想跑一下md里面的例程,但md教程内容混乱,而且同一个内容有多个手册,毕竟是多人合作的项目,可能是为了工程解耦,方便更新考虑……需要运行的模型和运行步骤散落在不用文件夹下的不同md里面……很无语,对于新手小白真的很不友好,因此在这里,按照一个正常工程的使用顺序,进行一个总结。

PaddleOCR进行关键信息抽取(kie),将是一个系列,分为多篇: 一:使用PP-Structure 文档分析中关键信息抽取,运行VI-LayoutXLM模型在XFUND_zh数据集上的推理模型,跑通推理 二:使用PPOCRLabel对自己的数据集进行关键信息提取的标注 三:进行自定义数据集的训练、自训练模型的评估、推理预测

这是第一篇:使用VI-LayoutXLM模型推理,测试关键信息抽取表单识别功能

文章目录工程中关键信息提取相关内容本文参考理论部分step0、环境准备step1、下载解压VI-LayoutXLM推理模型step2、下载XFUND数据集step3、使用模型进行预测(基于PaddleInference)单SER: 语义实体识别 (Semantic Entity Recognition)SER+RE: 关系抽取 (Relation Extraction)另一种方法(基于动态图的预测)仅预测SER模型SER + RE模型串联工程中关键信息提取相关内容

这里首先列出ppocr项目中与kie相关内容路径,方便查找,步骤从这些md中整合而来:

(本文主要参考这个)关键信息抽取-快速开始手册:.\ppstructure\kie\README_ch.md关键信息抽取全流程指南:.\ppstructure\kie\how_to_do_kie.md(自己模型训练评估与推理)关键信息抽取手册md.\doc\doc_ch\kie.md关键信息抽取算法-VI-LayoutXLM.\doc\doc_ch\algorithm_kie_vi_layoutxlm.md配置文件位于.\configs\kie\vi_layoutxlm\关键信息抽取数据集说明文档(介绍了FUNSD、XFUND、wildreceipt数据集三种).\doc\doc_ch\dataset\kie_datasets.md自己标注关键信息:PPOCRLabel使用文档./PPOCRLabel/README_ch.md本文参考

-(本文主要参考这个)PP-Structure 文档分析-关键信息抽取-快速开始手册:.\ppstructure\kie\README_ch.md 主要使用这个文件夹里面的内容

其他参考:https://blog.csdn.net/m0_63642362/article/details/128894464

理论部分

基于多模态模型的关键信息抽取任务有2种主要的解决方案。

(1)文本检测 + 文本识别 + 语义实体识别(SER) (2)文本检测 + 文本识别 + 语义实体识别(SER) + 关系抽取(RE)

关于上述解决方案的详细介绍,请参考关键信息抽取全流程指南:.\ppstructure\kie\how_to_do_kie.md 我们下面首先执行单SER

step0、环境准备

除了前期基础环境安装

git clone https://github.com/PaddlePaddle/PaddleOCR.gitcd PaddleOCRpip install -r requirements.txt

以外,还有一句

pip install -r ppstructure/kie/requirements.txtstep1、下载解压VI-LayoutXLM推理模型

环境配置这里不赘述,可以参考博主之前的文章,下面默认已经下载好ppocr项目文件夹了: 下表来自《关键信息抽取算法-VI-LayoutXLM》.\doc\doc_ch\algorithm_kie_vi_layoutxlm.md 下载保存推理模型到项目根目录名为model的文件夹里面

模型骨干网络任务配置文件hmean下载链接VI-LayoutXLMVI-LayoutXLM-baseSERser_vi_layoutxlm_xfund_zh_udml.yml93.19%训练模型/推理模型VI-LayoutXLMVI-LayoutXLM-baseREre_vi_layoutxlm_xfund_zh_udml.yml83.92%训练模型/推理模型

或直接在终端下载+解压

#下载解压ser_vi_layoutxlm_xfund_infer.tarwget https://paddleocr.bj.bcebos.com/ppstructure/models/vi_layoutxlm/ser_vi_layoutxlm_xfund_infer.tartar -xvf ser_vi_layoutxlm_xfund_infer.tar#下载解压re_vi_layoutxlm_xfund_infer.tarwget https://paddleocr.bj.bcebos.com/ppstructure/models/vi_layoutxlm/re_vi_layoutxlm_xfund_infer.tartar -xvf re_vi_layoutxlm_xfund_infer.tar【PaddleOCR-kie】一、关键信息抽取:使用VI-LayoutXLM模型推理预测(SER+RE)(paddle!)

step2、下载XFUND数据集

下载XFUND数据集,放在根目录train_data文件夹里面, 下载解压:

# 准备XFUND数据集,对于推理,这里主要是为了获得字典文件class_list_xfun.txtmkdir ./PaddleOCR/train_datawget https://paddleocr.bj.bcebos.com/ppstructure/dataset/XFUND.tartar -xf XFUND.tar

之所以叫train_data,是因为和配置文件里面的路径保持一致,方便不修改yaml文件而直接用

step3、使用模型进行预测(基于PaddleInference)

PaddleOCR/ppstructure/kie

单SER: 语义实体识别 (Semantic Entity Recognition)

使用前面下载好的SER推理模型

cd ppstructurepython3 kie/predict_kie_token_ser.py \ --kie_algorithm=LayoutXLM \ --ser_model_dir=../model/ser_vi_layoutxlm_xfund_infer \ --image_dir=./docs/kie/input/zh_val_42.jpg \ --ser_dict_path=../train_data/XFUND/class_list_xfun.txt \ --vis_font_path=../doc/fonts/simfang.ttf \ --ocr_order_method="tb-yx"

复制版

python3 kie/predict_kie_token_ser.py --kie_algorithm=LayoutXLM --ser_model_dir=../model/ser_vi_layoutxlm_xfund_infer --image_dir=./docs/kie/input/zh_val_42.jpg --ser_dict_path=../train_data/XFUND/class_list_xfun.txt --vis_font_path=../doc/fonts/simfang.ttf --ocr_order_method="tb-yx"ser_model_dir:我放在model文件夹内,image_dir:要预测的图片ser_dict_path:指向数据集的list文件位置vis_font_path:是字体文件夹

第一次运行会下载一些模型

可视化结果保存在ppstructure/output目录下 对应infer.txt

SER+RE: 关系抽取 (Relation Extraction)cd ppstructure python3 kie/predict_kie_token_ser_re.py \ --kie_algorithm=LayoutXLM \ --ser_model_dir=../model/ser_vi_layoutxlm_xfund_infer \ --re_model_dir=../model/re_vi_layoutxlm_xfund_infer\ --use_visual_backbone=False \ --image_dir=./docs/kie/input/zh_val_42.jpg \ --ser_dict_path=../train_data/XFUND/class_list_xfun.txt \ --vis_font_path=../doc/fonts/simfang.ttf \ --ocr_order_method="tb-yx"

复制版

python3 kie/predict_kie_token_ser_re.py --kie_algorithm=LayoutXLM --ser_model_dir=../model/ser_vi_layoutxlm_xfund_infer --re_model_dir=../model/re_vi_layoutxlm_xfund_infer --use_visual_backbone=False --image_dir=./docs/kie/input/zh_val_42.jpg --ser_dict_path=../train_data/XFUND/class_list_xfun.txt --vis_font_path=../doc/fonts/simfang.ttf --ocr_order_method="tb-yx"

我在NX盒子上推理会比较慢 RE在有些内容上还是比较弱的

另一种方法(基于动态图的预测)

手册里面还有一个使用tools/infer_kie_token_ser.py代码,PaddleOCR引擎的,使用预训练模型的,基于动态图的预测 不过经过实测,这里直接使用预训练模型和上面使用微调模型效果一样,毕竟没微调

#安装PaddleOCR引擎用于预测pip install paddleocr -Umkdir pretrained_modelcd pretrained_model# 下载并解压SER预训练模型wget https://paddleocr.bj.bcebos.com/ppstructure/models/vi_layoutxlm/ser_vi_layoutxlm_xfund_pretrained.tar && tar -xf ser_vi_layoutxlm_xfund_pretrained.tar# 下载并解压RE预训练模型wget https://paddleocr.bj.bcebos.com/ppstructure/models/vi_layoutxlm/re_vi_layoutxlm_xfund_pretrained.tar && tar -xf re_vi_layoutxlm_xfund_pretrained.tar

如果希望使用OCR引擎,获取端到端的预测结果,可以使用下面的命令进行预测。

仅预测SER模型python3 tools/infer_kie_token_ser.py \ -c configs/kie/vi_layoutxlm/ser_vi_layoutxlm_xfund_zh.yml \ -o Architecture.Backbone.checkpoints=./pretrained_model/ser_vi_layoutxlm_xfund_pretrained/best_accuracy \ Global.infer_img=./ppstructure/docs/kie/input/zh_val_42.jpgSER + RE模型串联python3 ./tools/infer_kie_token_ser_re.py \ -c configs/kie/vi_layoutxlm/re_vi_layoutxlm_xfund_zh.yml \ -o Architecture.Backbone.checkpoints=./pretrained_model/re_vi_layoutxlm_xfund_pretrained/best_accuracy \ Global.infer_img=./train_data/XFUND/zh_val/image/zh_val_42.jpg \ -c_ser configs/kie/vi_layoutxlm/ser_vi_layoutxlm_xfund_zh.yml \ -o_ser Architecture.Backbone.checkpoints=./pretrained_model/ser_vi_layoutxlm_xfund_pretrained/best_accuracy

(后续训练篇幅涉及)如果希望加载标注好的文本检测与识别结果,仅预测可以使用下面的命令进行预测。 仅预测SER模型 python3 tools/infer_kie_token_ser.py \ -c configs/kie/vi_layoutxlm/ser_vi_layoutxlm_xfund_zh.yml \ -o Architecture.Backbone.checkpoints=./pretrained_model/ser_vi_layoutxlm_xfund_pretrained/best_accuracy \ Global.infer_img=./train_data/XFUND/zh_val/val.json \ Global.infer_mode=False

SER + RE模型串联 python3 ./tools/infer_kie_token_ser_re.py \ -c configs/kie/vi_layoutxlm/re_vi_layoutxlm_xfund_zh.yml \ -o Architecture.Backbone.checkpoints=./pretrained_model/re_vi_layoutxlm_xfund_pretrained/best_accuracy \ Global.infer_img=./train_data/XFUND/zh_val/val.json \ Global.infer_mode=False \ -c_ser configs/kie/vi_layoutxlm/ser_vi_layoutxlm_xfund_zh.yml \ -o_ser Architecture.Backbone.checkpoints=./pretrained_model/ser_vi_layoutxlm_xfund_pretrained/best_accuracy

end

ps:

在关键信息抽取手册md.\doc\doc_ch\kie.md也有提到使用预训练模型的预测(tools/infer_kie_token_ser.py) 我们在后面几篇再展开:具体内容摘抄: 如您通过 python3 tools/train.py -c configs/kie/vi_layoutxlm/ser_vi_layoutxlm_xfund_zh.yml 完成了模型的训练过程。您可以使用如下命令进行中文模型预测。 python3 tools/infer_kie_token_ser.py -c configs/kie/vi_layoutxlm/ser_vi_layoutxlm_xfund_zh.yml -o Architecture.Backbone.checkpoints=./pretrained_model/ser_vi_layoutxlm_xfund_pretrained/best_accuracy Global.infer_img=./ppstructure/docs/kie/input/zh_val_42.jpg 使用tools/infer_kie_token_ser.py需要首先有训练产生的checkpoints : ./output/ser_vi_layoutxlm_xfund_zh/best_accuracy作为支持,所以只能在训练后使用,具体在本系列第三篇展开

本文链接地址:https://www.jiuchutong.com/zhishi/278752.html 转载请保留说明!

上一篇:笔记本投屏到电视教程(笔记本投屏到电视)

下一篇:DeskAdServ.exe是病毒程序吗 DeskAdServ进程是广告吗(deldir.exe是什么)

  • 有目标的人,就会有路(有目标的人就是不一样)

    有目标的人,就会有路(有目标的人就是不一样)

  • 出厂设置在哪里vivo(手机恢复出厂设置在哪里)

    出厂设置在哪里vivo(手机恢复出厂设置在哪里)

  • 快手怎样不让别人看到我点赞的作品(快手怎样不让别人看到我的浏览记录)

    快手怎样不让别人看到我点赞的作品(快手怎样不让别人看到我的浏览记录)

  • 苹果13带手机壳吗(苹果13带手机壳能无线充电吗)

    苹果13带手机壳吗(苹果13带手机壳能无线充电吗)

  • 微云超级会员自动续费怎么取消(微云超级会员自动续费提醒)

    微云超级会员自动续费怎么取消(微云超级会员自动续费提醒)

  • 华为荣耀9xpro什么系统(华为荣耀9xpro是不是5g手机)

    华为荣耀9xpro什么系统(华为荣耀9xpro是不是5g手机)

  • 快手上别人关注的人怎么看(快手上别人关注的人怎样才能看到)

    快手上别人关注的人怎么看(快手上别人关注的人怎样才能看到)

  • 红米note8pro电池能用多久(红米note8pro电池多少钱)

    红米note8pro电池能用多久(红米note8pro电池多少钱)

  • 苹果11相册怎么上锁(苹果11相册怎么设置密码)

    苹果11相册怎么上锁(苹果11相册怎么设置密码)

  • 按什么键可以复制整个屏幕(按什么键可以复制活动窗口)

    按什么键可以复制整个屏幕(按什么键可以复制活动窗口)

  • 闲鱼关闭订单是什么意思(闲鱼订单关闭后个人信息卖家还能看见吗?)

    闲鱼关闭订单是什么意思(闲鱼订单关闭后个人信息卖家还能看见吗?)

  • 知乎看别人主页会留下痕迹吗(知乎看别人主页为什么动态看不全)

    知乎看别人主页会留下痕迹吗(知乎看别人主页为什么动态看不全)

  • bkl-al00是什么型号(bkk一al00是什么型号)

    bkl-al00是什么型号(bkk一al00是什么型号)

  • 电脑wps是什么意思(电脑上wps2019是什么意思)

    电脑wps是什么意思(电脑上wps2019是什么意思)

  • 8p和8的区别在哪里(8p跟8)

    8p和8的区别在哪里(8p跟8)

  • 小米手机开视频不能开手电筒(小米手机开视频声音小,怎么办?)

    小米手机开视频不能开手电筒(小米手机开视频声音小,怎么办?)

  • ups主机是什么(ups是什么机器)

    ups主机是什么(ups是什么机器)

  • 电脑重置后桌面只有回收站(电脑重置后桌面什么都没有)

    电脑重置后桌面只有回收站(电脑重置后桌面什么都没有)

  • 苹果手机和ipad可以用一个id吗(苹果手机和ipad怎么共享屏幕)

    苹果手机和ipad可以用一个id吗(苹果手机和ipad怎么共享屏幕)

  • 对方发朋友圈提醒功能(发朋友圈提到了对方,对方能知道吗)

    对方发朋友圈提醒功能(发朋友圈提到了对方,对方能知道吗)

  • 抖音一天能点多少关注(抖音一天能点多少赞)

    抖音一天能点多少关注(抖音一天能点多少赞)

  • 云服务是什么(中国移动资产上云服务是什么)

    云服务是什么(中国移动资产上云服务是什么)

  • 手机 ud版什么意思(啥是ud版)

    手机 ud版什么意思(啥是ud版)

  • word无法启动转换器mswrd632(word无法启动转换器WPFT532)

    word无法启动转换器mswrd632(word无法启动转换器WPFT532)

  • qq大会员成长值怎么算(qq会员成长值领取)

    qq大会员成长值怎么算(qq会员成长值领取)

  • 苹果怎么屏蔽95开头的电话(苹果怎么屏蔽952开头的电话)

    苹果怎么屏蔽95开头的电话(苹果怎么屏蔽952开头的电话)

  • 如何使用U盘安装Win11系统?U盘安装Win11系统详细图文教程(如何使用u盘安装win11)

    如何使用U盘安装Win11系统?U盘安装Win11系统详细图文教程(如何使用u盘安装win11)

  • ES6 的新特性(Es6的新特性promise对象的设计初衷是)

    ES6 的新特性(Es6的新特性promise对象的设计初衷是)

  • 医院怎么开发票
  • 建筑企业成本核算工作流程
  • 怎么在电子税务局添加银行账户
  • 季度申报所得税可以研发费加计扣除
  • 手机银行电子回单生成器
  • 公司团建取得的进项发票可以抵扣增值税吗
  • 利润表中的其他业务利润包括哪些
  • 现代服务业加计抵减政策适用范围
  • 应计入资产负债表应付利息项目的有
  • 土地结转会计分录是什么
  • 正常的成本利润是多少
  • 出售房产税收
  • 工程款增值税专用发票如何开具
  • 要注销的企业多久能注销
  • 外购烟丝消费税是多少
  • 国家税务总局公告2023年第1号
  • 软件企业超税负率怎么算
  • win10禁止使用网络
  • 研发费用属于期余资产吗
  • 运行网络操作系统的设备
  • babylon.exe进程有什么作用 babylon进程是什么文件
  • 预付款不退如何投诉
  • 沃特金斯格伦州立公园
  • ICCV, ECCV, CVPR,IEEE的关系
  • 房屋出租一定要签合同吗
  • 黏菌算法总结
  • 浅谈双减背景下的高效课堂
  • 美团收购联联
  • printfi
  • dedecms源码
  • 苹果mac安装
  • 银行结算方式有哪几种?其具体内容是什么
  • 融资租赁首付租金会计账务处理
  • 新版发票填开操作流程
  • 机器维修费属于什么会计科目
  • 含税与不含税的计算公式
  • 劳务报酬包括哪些
  • 利用职务之便谋取私利是什么罪
  • 段云简介
  • 营运资产周转次数计算公式是什么意思
  • 小规模纳税人月销售额超过10万怎么交税
  • 公司借个人款利息产生个人所得税公司可以承担吗
  • 房地产企业成本核算方法
  • 隔月发票退回是怎么回事
  • 分期购车会计分录小规模
  • 进项税转出怎么交税
  • 应收账款周转率越高越好吗
  • 专票入账用哪一联
  • 滞纳金是罚款支出吗
  • 其他应付款属于哪类
  • 3%税率专用发票
  • 购电脑怎么入账
  • 金税盘的维护费每年怎么抵扣
  • 公司注册代理费用标准
  • 试制流程
  • 银行信贷人员岗位职责
  • sqlserver使用方法
  • 跨服务器访问数据库
  • windows xp系
  • fedora14虚拟机安装教程
  • emule.td文件怎么打开
  • mac进去不了系统
  • linux中bc命令
  • 快速锁定单元格的方法
  • win7系统ie8浏览器
  • win10怎么添加游戏手柄
  • 如何解决老电脑卡顿问题
  • javascript入门教程
  • android viewpager嵌套viewpager
  • 给自己的网站制作软件
  • 安卓 图形api
  • JavaScript驾驭网页-CSS与DOM
  • 新版unity
  • androidweb view
  • js创建对象的三种方式
  • js原生dialog
  • jq中attr用法
  • 农村集体土地承包法
  • 江西增值税发票查询
  • 灵活就业登记审核查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设