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(可选)。
二、安装CUDA
无论运行pytorch、tensflow还是paddlepaddle等深度学习框架,均推荐在GPU上进行推理。若要使用GPU进行推理,请在安装CUDA前提前更新好本机的显卡驱动。
三、安装PaddlePaddle
既然我们想使用PaddlePaddle深度学习框架旗下的Pipeline,那肯定要提前安装好PaddlePaddle深度学习框架。
至此,我们的基础环境已经安装完成,接下来就可以开始进行使用Pipeline了。
四、获取PaddleX
PaddleX是什么?引用官方介绍:
官方地址:GitHub - PaddlePaddle/PaddleX: All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)
简单来说,就是PaddlePaddle研发出来的一套开箱即用产品的底座,安装了PaddleX后,就可以通过几行命令来完成不同的任务,比如几行命令完成目标检测,几行命令完成文字识别等。
安装PaddleX的几种方式:
五、基于PaddleX安装第一个插件:PaddleOCR
六、几行代码完成快速推理(调用文心一言大模型、默认不可修改,需要Access_token,按需付费。 若无需大语言模型,看查看第七条推理方式):
````
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()
````
七、几行代码完成快速推理(无需大预言模型,支持本地化部署):
````
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”模型的微调与训练。