unilm layoutlmv3 训练代码调试 SER 推理可视化

前言

    因为是先调的paddleocrppstructure/vqa 部分的layoutxlm,由于paddleocr 还没有支持layoutlmv3,但是v3 相对来说把 visual_backbone 部分的cnn 换成transformer 速度快很多,所以尝试了unilm v3版本。

 、训练

1. dataload 部分修改

        因为是从paddleocr vqa 转过去的,训练数据和训练的label_list 已经有了,这里修改了部分数据读取代码xfund.py,读已有的paddle格式的训练数据。

2. 训练部分修改存储best model

    根据自己的类别,修改config中的参数,和num_classes

        增加以下训练参数,可以在训练过程中保存best_modellast_model      

--save_steps 100 

--evaluation_strategy steps 

--eval_steps 100 

--metric_for_best_model eval_f1 

--save_strategy steps 

--load_best_model_at_end True 

--save_total_limit 2 

二、推理

       推理部分不好改的地方是用的huggingfacetransformer库,输入的组织和输出的可视化。输入的组织和可视化参考paddleOCR vqa中的infer_ser,这里只写了注意不同的地方。

1. transformer 库加载模型 tokenizer,传入模型路径文件夹。

2. infer 函数参考paddleOCR vqa中的infer_ser,送入模型的时候,略有不同。

3. preprocess postprocess 修改如下

preprocess 中tokenizer 换成 transformer 里的调用形式

后面input_ids position_ids segment_ids 按照xfund.py DataCollatorForKeyValueExtraction的处理方式处理,与paddle 的最大区别是有clssep token,还有这里生成position_idssegment_ids的方式。

postprocess 里注意token序列的index 从1-510

最后可视化参考paddleocr 里的draw_ser_results

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值