我们已经为您准备好复现该模型所需的环境,您可以创建实例、一键复用哦!

模型的使用文档涵盖模型所需环境、模型简介以及复现模型的具体步骤。模型效果和模型详细来源可以点击论文地址和模型来源链接查看哦~

LayoutXLM

2022-02-09 model:layputxlm-ubuntu18.04-cuda11.0-cudnn8-python3.8-paddlepaddle2.2-new

模型标签
关系抽取文本分类

模型简介

LayoutXLM一种用于多语言文档理解的多模态预训练模型,旨在为视觉丰富的文档理解弥合语言障碍。 为了准确评估 LayoutXLM,我们还引入了一个名为 XFUND 的多语言表单理解基准数据集,其中包括 7 种语言(中文、日语、西班牙语、法语、意大利语、德语、葡萄牙语)的表单理解样本,并且键值对被手动标记为 每种语言。 实验结果表明,LayoutXLM 模型在 XFUND 数据集上的表现明显优于现有的 SOTA 跨语言预训练模型。 论文官网:https://arxiv.org/pdf/2104.08836.pdf


  1. 使用方法

  2. 模型来源


1. 使用方法

1.1. 环境配置

在root/PaddleOCR/ppstructure/vqa(默认)路径下,运行以下命令:

mkdir datasets
ln -s /datasets/XFUND ../../root/PaddleOCR/ppstructure/vqa/datasets
#先创建datasets文件夹后,然后将复现所需的公开数据集软连接到该文件夹下
mkdir models
ln -s /modelsets/PP-Layout_v1.0_ser_pretrained ../../root/PaddleOCR/ppstructure/vqa/models
#先创建weights文件夹后,然后将复现所需的PaddleOCR预训练权重文件软连接到该文件夹下

1.2. 模型推断

在终端中,在root/PaddleOCR/ppstructure/vqa(默认)路径下,运行以下命令:

python infer_ser.py \
    --model_name_or_path "./models/PP-Layout_v1.0_ser_pretrained/" \
    --ser_model_type "LayoutXLM" \
    --output_dir "./output/ser/" \
    --infer_imgs "./datasets/XFUND/zh_val/image/" \
    --ocr_json_path "./datasets/XFUND/zh_val/xfun_normalize_val.json"
# 推断结果保存在output/ser 文件里面
参数 说明
model_name_or_path 预训练权重文件路径
ser_model_type 序列化模型种类
output_dir 推断结果输出文件夹
infer_imgs 待检测照片路径
ocr_json_path 待检测json文件路径

1.3. 模型训练

在终端中,在root/PaddleOCR/ppstructure/vqa(默认)路径下,运行以下命令:

python train_ser.py \
    --model_name_or_path "layoutxlm-base-uncased" \
    --ser_model_type "LayoutXLM" \
    --train_data_dir "./datasets/XFUND/zh_train/image" \
    --train_label_path "./datasets/XFUND/zh_train/xfun_normalize_train.json" \
    --eval_data_dir "./datasets/XFUND/zh_val/image" \
    --eval_label_path "./datasets/XFUND/zh_val/xfun_normalize_val.json" \
    --num_train_epochs 200 \
    --eval_steps 10 \
    --output_dir "./output/ser/" \
    --learning_rate 5e-5 \
    --warmup_steps 50 \
    --evaluate_during_training \
    --seed 2048
# train.py文件包含训练和评估步骤,如需分开复现,可自行修改文件中的代码。
# 模型结果(包含precision, recall, f1等指标)和训练日志会保存在output/ser文件夹中
参数 说明
train_data_dir 训练数据集文件夹
train_label_path 指定数据大小
eval_data_dir 评估数据集文件夹
eval_label_path 评估标签数据集路径
num_train_epochs 训练批次的数量
eval_steps 评估次数
learning_rate 学习率
warmup_steps 预热学习率
evaluate_during_training 评估与训练同步进行
seed 随机种子

2. 模型来源

https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.4/ppstructure/vqa