数据预处理阶段
PaddleOCR
PP-Structure:这个库其实是用于版面分析的一个开源库,参见:github: Layout-Parser/layout-parserhttps://github.com/Layout-Parser/layout-parser
代码推理阶段
Paddle-Inferencehttps://paddle-inference.readthedocs.io/en/master/index.html
采用create_predictor 方法创建Predictor-预测执行器
# 引用 paddle inference 预测库
import paddle.inference as paddle_infer
# 创建 config
config = paddle_infer.Config("./mobilenet_v1.pdmodel", "./mobilenet_v1.pdiparams")
# 根据 config 创建 predictor
predictor = paddle_infer.create_predictor(config)
对应的类 DocPromptTask,
参数下载地址:
URLS = { "docprompt": [ "https://bj.bcebos.com/paddlenlp/taskflow/document_intelligence/docprompt/docprompt_params.tar", "8eae8148981731f230b328076c5a08bf", ], }
#执行推理任务
self.predictor.run()
#获取输入与输出特征向量
self.predictor = paddle.inference.create_predictor(self._config)
self.input_names = [name for name in self.predictor.get_input_names()]
self.input_handles = [self.predictor.get_input_handle(name) for name in self.predictor.get_input_names()]
self.output_handle = [self.predictor.get_output_handle(name) for name in self.predictor.get_output_names()]
DocPrompt模型微调(基于ERNIE-Layout的文档视觉问答)
基于多语言跨模态布局增强的文档智能大模型ERNIE-Layout(ernie-layoutx-base-uncased),通过paddlenlp.transformers提供的阅读理解模型AutoModelForQuestionAnswering构建文档视觉问答模型。
model = AutoModelForQuestionAnswering.from_pretrained(model_args.model_name_or_path, num_classes=num_labels)
基于预训练模型ERNIE 3.0 的阅读理解任务 https://aistudio.baidu.com/aistudio/projectdetail/4944851
阅读理解模型
按照模型预训练时的输入格式,我们将问题和上下文通过特殊分隔符 [SEP]
连接成一个整体,如下图所示: