首页 > 其他分享 >使用hub部署PaddleOCR

使用hub部署PaddleOCR

时间:2024-11-19 23:40:41浏览次数:1  
标签:tar hub 部署 PaddleOCR system docker ocr ppocr

使用hub部署PaddleOCR

概述

  目前有一些处理证件照片、资质照片的业务需求,已经尝试过 llava-llama3​ 与 llama3.2-vision​,表现都不佳,要么不能正确 ocr 出文字,要么在胡言乱语。

  对比了一众开源 OCR 的在线体验服务后,发现 PaddleOCR 的能力尤为突出。即便图片存在水印、字体模糊,仍能保持极高的准确度。准备在项目部署一套 ocr 识别,搭配 ai 再处理处理图片内容。

  对比参考的大神,同样使用了 docker 运行在 cpu 环境,这里更新了版本,如下:

  当前时间(2024-11-19)

基本流程

  参考文档的流程已经足够准确,这里概述一下

  1. 下载、运行 paddlepaddle​ 镜像,并进入容器终端, 版本参考: https://hub.docker.com/r/paddlepaddle/paddle/tags

    如果有支持的 gpu,选择类似 3.0.0b2-gpu-cuda12.3-cudnn9.0-trt8.6​ ​tag 的进行

     docker pull paddlepaddle/paddle:3.0.0b2
     docker run -p 9997:9997 --name ppocr -it paddlepaddle/paddle:3.0.0b2 bash
    
  2. 安装 paddlehub​:

    pip3 install paddlehub==2.4.0 --upgrade
    
  3. 下载 PaddleOCR​ 并安装依赖:

    cd /home 
    git clone https://gitee.com/paddlepaddle/PaddleOCR.git 
    cd PaddleOCR 
    pip3 install -r requirements.txt
    
  4. 下载模型:

    mkdir inference  
    cd inference 
    wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar 
    wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar 
    wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar 
    wget https://paddleocr.bj.bcebos.com/ppstructure/models/slanet/ch_ppstructure_mobile_v2.0_SLANet_infer.tar 
    tar xf ch_ppstructure_mobile_v2.0_SLANet_infer.tar 
    for i in $(ls *.tar);do tar xvf $i;done && rm -f *.tar
    
  5. 处理 protobuf​ ​报错,这有两个方式(当前版本 4.25.1)

    1. echo "export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python" >> ~/.bashrc && source ~/.bashrc
    2. pip uninstall protobuf && pip install protobuf==3.20.2
  6. 安装 ocr_system​ :

    hub install deploy/hubserving/ocr_system
    

  到目前为止,贴合默认配置。下面是可能会变动的配置

  1. 文本检测+文本方向分类+文本识别(ocr_system)​ 模型路径配置文件: deploy/hubserving/ocr_system/params.py
  2. 文本检测+文本方向分类+文本识别(ocr_system)​ 模型运行配置文件:deploy/hubserving/ocr_system/config.json​ 用于修改默认端口、配置是否允许使用 gpu、配置进程数量
  3. 表格识别服务(structure_table) ​模型路径配置文件: /deploy/hubserving/structure_table/param.py​ 这里默认是英文表格,识别中文需要改成下载的模型路径、字典文件路径

  最后就是启动服务:

  1. 容器内启动服务: hub serving start -m ocr_system structure_table -p 9997

  2. 打包镜像启动,因为必须要 cd 到/home/PaddleOCR 下才能使用启动命令,所以可以创建一个启动脚本或者设置 workdir

    1. touch /home/PaddleOCR/userStart.sh
      echo -e "cd /home/PaddleOCR \nhub serving start -m ocr_system structure_table -p 9997" > /home/PaddleOCR/userStart.sh
      docker commit -m="描述信息" -a="作者" ppocr ppocr:test 
      docker run ppocr-test ppocr:test /home/PaddleOCR/userStart.sh
      

    2. docker commit -m="描述信息" -a="作者" ppocr ppocr:test 
      docker run ppocr-test -w/home/PaddleOCR ppocr:test hub serving start -m ocr_system structure_table -p 9997
      
    3. 使用 Dockerfile,

      docker commit -m="描述信息" -a="作者" ppocr ppocr:test 
      touch Dockerfile
      echo -e "FROM ppocr:test\nWORKDIR /home/PaddleOCR\nCMD hub serving start -m ocr_system structure_table -p 9997" > Dockerfile
      

参考:

标签:tar,hub,部署,PaddleOCR,system,docker,ocr,ppocr
From: https://www.cnblogs.com/dawnings/p/18555866/use-hub-to-deploy-paddleocr-1ldf2z

相关文章

  • Github快速搭建个人/组织网站
    最近课题组要建网站,记录一下速通流程。follow本流程你可以快速获得一个个人或组织的网站首页,部署在github的服务器上,完全免费。预备工具kexue上网,从而登github本地安装git步骤1在自己的github账户建立空repo,必须命名为USRNAME.github.io(USRNAME是你的github账户名称)。在本......
  • NuGet私有化部署
    AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决 1.引言在网络受限或完全离线的环境中开发.NET项目(本文示例为AvaloniaUI项目),可能会遇到一些挑战。本文将为您提供一套完整的离线开发解决方案,包括IDE的安装、AvaloniaUI模板的配置、私有化NuGe......
  • springboot毕设高校学生党校信息管理系统安全开发源码+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着高校党建工作的不断发展和学生党员队伍的逐步壮大,高校学生党校的管理工作变得日益复杂。传统的人工管理方式已难以满足对众多学生党校相关信......
  • springboot毕设大学生心理咨询平台程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着社会的不断发展,大学生面临着诸多压力源,如学业竞争压力、人际关系的复杂性、未来就业的不确定性等。这些压力导致大学生心理健康问题日益凸显......
  • YOLO11:TensorRT模型加速与部署
    视频链接:YOLO11:TensorRT模型加速与部署_哔哩哔哩_bilibili《YOLO11:TensorRT模型加速与部署》课程致力于帮助学生实战YOLO11目标检测算法的TensorRT加速部署。常心老师将手把手带领大家从0开始搭建YOLO11-TensorRT环境,带领大家排坑、避坑、填坑。本课程将进行环境搭建、模型转......
  • 2025最新-计算机毕业设计Java基于kubenetes的OpenStack私有云平台部署
    一、项目介绍  基于K8S的opoenstack私有云平台的监测系统通过对Web应用服务器运行情况的分析统计系统的建设以实现服务器运行数据监控与分析功能。私有云平台是web应用正常运行的核心,为了确保这些网站的稳定运行,势必需要做好对网站服务器的监控。做好对服务器运行的各......
  • Ziya-LLaMA-13B 模型在GPU 上部署
    Ziya-LLaMA-13B模型在GPU上部署Ziya-LLaMA-13B是IDEA-CCNL基于LLaMa的130亿参数的大规模预训练模型,具备翻译,编程,文本分类,信息抽取,摘要,文案生成,常识问答和数学计算等能力。目前姜子牙通用大模型已完成大规模预训练、多任务有监督微调和人类反馈学习三阶段的训练过程。1.部署......
  • Docker部署ELK7.17.10
    一.安装前准备    需要准备elasticsearch_7.17.10,kibana_7.17.10,logstash7.17.10三个镜像,这里我用的离线镜像包elasticsearch_7.17.10.tar,kibana_7.17.10.tar,logstash7.17.101.先执行命令包导入镜像dockerload-ielasticsearch_7.17.10.tardockerload-ikiban......
  • 萤石设备视频接入平台EasyCVR私有化部署视频平台智慧工地无线监控系统解决方案
    在建筑行业,工地的安全管理和环境监控是确保工程顺利进行的关键。随着智慧城市建设的推进和技术的发展,传统的工地管理模式已经无法满足现代建筑施工的需求。EasyCVR智慧工地无线监控系统解决方案针对车辆、人员出入口、塔吊、围墙边界、施工区、办公区、工人生活区、材料存放区等......
  • Idea该如何提交代码到GitHub远程仓库呢?
    1.处理GitHub这块1.1首先登陆GitHub账户1.2创建新的储存库填写储存库信息1.3 复制储存库地址2.处理Idea这块2.1查看Idea中Git配置点击settings(设置)--> VersionControl(版本控制)-->Git,idea一般会自动关联Git可执行文件,如果没有关联需要手动选择。如果电脑......