参考文献:https://github.com/thanhbgtnut/GeoLayoutLM
摘要
文章介绍了 GeoLayoutLM—— 用于视觉信息提取(VIE)的多模态框架的官方 PyTorch 实现。该框架创新性地融入了几何预训练和专为关系提取(RE)设计的新型关系头,在序列标注(SER)任务中取得极具竞争力的成绩,在 RE 任务上显著超越了先前的最优方法。
文章提供了预训练模型以及在 FUNSD 数据集上微调后的 SER 和 RE 模型的下载链接,同时指出视觉模块训练会导致最终性能不稳定。文档详细说明了环境配置、数据预处理、微调与评估的操作步骤,还发布了基于中文和英文文档预训练的多语言基础模型。代码微调基于 BROS 实现,最后给出了论文的引用格式和项目的开源许可信息。
环境配置
首先,参考文献给出的链接中,下载代码文件夹。
创建虚拟环境:
conda create -n Geo python=3.8
进入虚拟环境:
conda activate Geo
然后根据代码文件夹中的requirements安装运行环境
pip install -r requirements.txt
如果报出以下错误:
降级以下pip即可。
pip install 'pip<24.1'
然后重新安装环境:
pip install -r requirements.txt
这样就算安装成功了。
数据处理
现在下载数据集,点击文献中的超链接,进入官方数据集网站,单击下载即可。下载完之后放到代码文件夹里。
数据集结构。
进行数据预处理。
在preprocess/funsd_el/preprocess.py中
第15行改成自己数据集的路径即可。
python preprocess/funsd_el/preprocess.py
运行结果是:
处理后的数据集目录:
模型训练
下一步,去官方网站上下载预训练权重模型,放到代码文件夹里。
修改配置文件。配置文件夹在./configs/finetune_funsd.yaml
主要修改前几行的路径就行。
进行训练。
CUDA_VISIBLE_DEVICES=0 python train.py --config=configs/finetune_funsd.yaml
可能会出现的报错。
1、发现遇到cv2.dnn报错
这里把opencv-p