PaddlePaddle 开源产业级文档印章识别PaddleX-Pipeline “seal_recognition”模型 开箱即用篇(一)

AI时代到来,各行各业都在追求细分领域垂直类深度学习模型,今天给大家介绍一个PaddlePaddle旗下,基于PaddleX Pipeline 来完成印章识别的模型"seal_recognition"。

官方地址:https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_usage/tutorials/ocr_pipelines/seal_recognition.md

下面开始在本地使用PaddleX:

一、安装Python:

推荐使用conda(可选)。

Python版本:3.8.19(推荐版本)。

二、安装CUDA

无论运行pytorch、tensflow还是paddlepaddle等深度学习框架,均推荐在GPU上进行推理。若要使用GPU进行推理,请在安装CUDA前提前更新好本机的显卡驱动。

CUDA版本:11.8(推荐)

CUDA参考地址:https://developer.nvidia.com/cuda-11-8-0-download-archive

三、安装PaddlePaddle

既然我们想使用PaddlePaddle深度学习框架旗下的Pipeline,那肯定要提前安装好PaddlePaddle深度学习框架。

PaddlePaddle版本:3.0.0-beta2

PaddlePaddle参考地址:飞桨PaddlePaddle-源于产业实践的开源深度学习平台

至此,我们的基础环境已经安装完成,接下来就可以开始进行使用Pipeline了。

四、获取PaddleX

PaddleX是什么?引用官方介绍:

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型 ,可以实现模型从训练到推理的全流程开发 ,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

模型丰富一键调用 :将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型 整合为 19 条模型产线 ,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

官方地址:GitHub - PaddlePaddle/PaddleX: All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

简单来说,就是PaddlePaddle研发出来的一套开箱即用产品的底座,安装了PaddleX后,就可以通过几行命令来完成不同的任务,比如几行命令完成目标检测,几行命令完成文字识别等。

安装PaddleX的几种方式:

一、Wheel包安装模式:

若你只是希望快速完成模型的推理和集成,那么推荐您使用更便捷更轻量的Wheel包安装模式。快速安装轻量级的Wheel包之后,您即可基于PaddleX支持的所有模型进行推理,并能直接集成进您的项目中。

pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0b1-py3-none-any.whl

二、插件安装模式:

若您使用PaddleX的应用场景为二次开发 (例如重新训练模型、微调模型、自定义模型结构、自定义推理代码等),那么推荐您使用功能更加强大的插件安装模式。

安装您需要的PaddleX插件之后,您不仅同样能够对插件支持的模型进行推理与集成,还可以对其进行模型训练等二次开发更高级的操作。

git clone https://github.com/PaddlePaddle/PaddleX.git

cd PaddleX

pip install -e .

paddlex --install PaddleXXX # 例如PaddleOCR

五、基于PaddleX安装第一个插件:PaddleOCR

paddlex --install PaddleOCR

六、几行代码完成快速推理(调用文心一言大模型、默认不可修改,需要Access_token,按需付费。 若无需大语言模型,看查看第七条推理方式):

python 复制代码
````
        from paddlex import create_pipeline

        pipeline = create_pipeline(
            pipeline="PP-ChatOCRv3-doc",
            llm_name="ernie-3.5",
            llm_params={"api_type": "qianfan", "ak": "", "sk": ""} # 使用千帆接口,请填入您的ak与sk,否则无法调用大模型
            # llm_params={"api_type": "aistudio", "access_token": ""} # 或者使用AIStudio接口,请填入您的access_token,否则无法调用大模型
            )

        visual_result, visual_info = pipeline.visual_predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/doc_images/practical_tutorial/PP-ChatOCRv3_doc_seal/test.png")

        for res in visual_result:
            res.save_to_img("./output")
            res.save_to_html('./output')
            res.save_to_xlsx('./output')

        vector = pipeline.build_vector(visual_info=visual_info)
        chat_result = pipeline.chat(
            key_list=["印章名称"],
            visual_info=visual_info,
            vector=vector,
            )
        chat_result.print()
    ````

七、几行代码完成快速推理(无需大预言模型,支持本地化部署):

python 复制代码
 ````
        from paddlex import create_pipeline

        pipeline = create_pipeline(pipeline="seal_recognition")

        output = pipeline.predict("./test_images/1387.jpg")
        for res in output:
            res.print() ## 打印预测的结构化输出
            res.save_to_img("./output_images/") ## 保存可视化结果
    ````

八、查看结果

写在最后:下一章节,完成印章识别"seal_recognition"模型的微调与训练。

相关推荐
NiNg_1_2342 分钟前
Python的sklearn中的RandomForestRegressor使用详解
开发语言·python·sklearn
黑色叉腰丶大魔王6 分钟前
《基于 Python 的网页爬虫详细教程》
开发语言·爬虫·python
WANGWUSAN6625 分钟前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
www_3dyz_com26 分钟前
人工智能在VR展览中扮演什么角色?
人工智能·vr
刘不二32 分钟前
大模型应用—HivisionIDPhotos 证件照在线制作!支持离线、换装、美颜等
人工智能·开源
feilieren41 分钟前
AI 视频:初识 Pika 2.0,基本使用攻略
人工智能·ai视频
40岁的系统架构师42 分钟前
1 JVM JDK JRE之间的区别以及使用字节码的好处
java·jvm·python
觅远1 小时前
python实现word转html
python·html·word
开放知识图谱2 小时前
论文浅尝 | HippoRAG:神经生物学启发的大语言模型的长期记忆(Neurips2024)
人工智能·语言模型·自然语言处理
威化饼的一隅2 小时前
【多模态】swift-3框架使用
人工智能·深度学习·大模型·swift·多模态