PaddleOCR 表格识别,docker部署,cpu版本

前置环境

centeros7 

docker

拉取镜像

docker pull registry.baidubce.com/paddlepaddle/paddle:2.6.1

参考:开始使用_飞桨-源于产业实践的开源深度学习平台

这里拉取的镜像并不能立马用,只是内置好运行环境

随便找个目录下载paddleocr的代码

git clone https://gitee.com/paddlepaddle/PaddleOCR.git

启动并进入docker环境

docker run -p 9997:9997 --name paddle -it -v $PWD:/paddle registry.baidubce.com/paddlepaddle/paddle:2.6.1 /bin/bash

启动后会进入容器,按我这个例子容器里面的/paddle/等同宿主机的/home/paddleocr/

下面所有命令都在docker里面进行 

安装依赖

cd /paddle/PaddleOCR pip3 install -r requirements.txt

 下载模型

cd /paddle/PaddleOCR 
mkdir inference && cd inference# 下载并解压 OCR 文本检测配置
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar && tar -xf ch_PP-OCRv3_det_infer.tar# 下载并解压 OCR 文本识别模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar &&  tar -xf ch_PP-OCRv3_rec_infer.tar# 下载并解压 OCR 文本方向分类模型
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar && tar xf ch_ppocr_mobile_v2.0_cls_infer.tar#下载基于SLANet的中文表格识别模型
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
#下载PP-Structure 系列模型
wget https://paddleocr.bj.bcebos.com/ppstructure/models/layout/picodet_lcnet_x1_0_fgd_layout_infer.tar && tar -xf picodet_lcnet_x1_0_fgd_layout_infer.tar

修改表格识别服务(structure_table)配置

/home/paddleocr/PaddleOCR/deploy/hubserving/structure_table/params.py

structure_table默认配置为英文表格识别模型和英文字典,需要调整为中文识别模板和对应的中文字典文件,修改完成保存即可。 

 #调整模型文件路径为./inference/ch_ppstructure_mobile_v2.0_SLANet_infer/#调整字典文件路径为./ppocr/utils/dict/table_structure_dict_ch.txt

修改structure_system服务配置

/home/paddleocr/PaddleOCR/deploy/hubserving/structure_system/params.py

 cfg.layout_model_dir = './inference/picodet_lcnet_x1_0_fgd_layout_infer/'cfg.layout_dict_path = './ppocr/utils/dict/layout_dict/layout_publaynet_dict.txt'

安装paddlehub

 pip3 install paddlehub

hubserving服务安装

cd /paddle/PaddleOCR #安装ocr_system服务
hub install deploy/hubserving/ocr_system
#安装structure_table服务
hub install deploy/hubserving/structure_table
#安装structure_system服务
hub install deploy/hubserving/structure_system

 这里可能会遇到一些坑

1.protobuf版本要降级

解决:

pip uninstall protobuf
pip install protobuf==3.20.2

 2.cannot import name 'preserve_channel_dim' from 'albucore.utils' 

解决:

pip install albucore==0.0.16

 然后可以正常安装了

hubserving服务启动

#以后台形式启动ocr_system structure_table 服务
nohup hub serving start -m ocr_system structure_table structure_system -p 9997 &#查看启动日志
tail -f nohup.out

接口访问路径

  • ocr_system: http://127.0.0.1:9997/predict/ocr_system
  • structure_table: http://127.0.0.1:9997/predict/structure_table

接口说明

参数说明
请求类型post
Content-Typeapplication/json
参数格式{“images”:[“图片 base64串”]}

 

参考:

https://blog.csdn.net/zhoushanmin/article/details/142258823

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/deploy/hubserving/readme.md

https://github.com/PaddlePaddle/PaddleOCR

PaddleOCR 服务化部署(基于PaddleHub Serving)_paddleocr服务器部署-CSDN博客

https://paddlepaddle.github.io/PaddleOCR/ppocr/infer_deploy/paddle_server.html

https://www.jianshu.com/p/5f39426a9152

Docker 部署 PaddleOCR 图文识别技术应用_网络存储_什么值得买

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1548610.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

死磕P7: JVM垃圾回收那点事,轻松拿捏不是事儿(二)

这是「死磕P7」系列第 004 篇文章,欢迎大家来跟我一起 死磕 100 天,争取在 2025 年来临之际,给自己一个交代。(公&号:新质程序猿,更新会更及时,内容也会更全面丰富,欢迎大家关注…

神仙级AI产品经理入门手册,从入门到入魂非常详细,收藏这一篇,少走三年弯路!!!

作为一个产品经理,你可能已经熟悉了一些常见的AI技术和应用,比如机器学习、深度学习、自然语言处理、计算机视觉等。 但是,你是否了解什么是大模型?大模型又有什么特点和优势?为什么大模型会成为AI领域的一个重要趋势…

Llama系列迈向多模态新时代:3.2版本开源超越闭源,并携手Arm推出手机优化版

在多模态领域,开源模型也超闭源了! 就在刚刚结束的 Meta 开发者大会上,Llama 3.2 闪亮登场: 这回不仅具备了多模态能力,还和 Arm 等联手,推出了专门为高通和联发科硬件优化的 “移动” 版本。 具体来说&a…

尾矿库安全监测系统:守护矿山安全的关键技术

尾矿库是矿山企业用于存放尾矿的重要设施,其安全状况直接关系到周边环境和人民生命财产安全。近年来,随着技术的不断进步,尾矿库安全监测系统应运而生,为尾矿库的安全管理提供了强有力的技术支持。本文将详细介绍尾矿库安全监测系…

en造数据结构与算法C# 之 二叉排序树的删除

en造数据结构与算法C# 之 二叉排序树的增/查-CSDN博客 删除方法比起添加和查找就稍显复杂了 &#xff0c;所以单独拿出来写一篇 分析 输入 1.根节点&#xff0c;用于从根上查找你要删除的节点 2.需要删除的值 public Node<T> Delete(Node<T> root, T data) {if (…

设计模式、系统设计 record part02

软件设计模式&#xff1a; 1.应对重复发生的问题 2.解决方案 3.可以反复使用 1.本质是面向对象 2.优点很多 1.创建型-创建和使用分离 2.结构型-组合 3.行为型-协作 571123种模式 UML-统一建模语言-Unified Modeling Language 1.可视化&#xff0c;图形化 2.各种图&#xff08;9…

SSH连接提示秘钥无效

说明&#xff1a;本文记录一次使用SSH连接服务器失效的问题。 使用SSH命令连接服务器&#xff0c; ssh -i ssh秘钥路径 user192.xx.xx.xx提示下面的错误&#xff1b; Load key "shuhe.bin": invalid format aochuang192.xx.xx.xx: Permission denied (publickey,g…

Python新手学习过程记录之基础环境:环境变量、版本区分、虚拟环境

https://img-blog.csdnimg.cn/img_convert/0604267530a515112e51dfc80d0b0ee7.png 刚开始接触Python并学习一门开发语言,可能就会遇到一些棘手的问题,比如电脑上不知不觉已经安装了多个python版本,python3.8/3.10/3.11,甚至一些软件中也集成有python解释器&#xff1b;那么我编…

每日一题|2516. 每种字符至少取 K 个|双指针、最长子串、字典

本题需要转化求解目标。 对于一个序列&#xff0c;两头收集的最少数量的时候&#xff0c;剩下的部分&#xff08;我们称之为子串&#xff09;就会对应的越长。也就是说&#xff0c;我们只要求解一个满足要求的最长子串&#xff0c;使得两边剩余的字符数量刚好满足要求。 由于…

实时美颜功能技术揭秘:视频美颜SDK与API的技术剖析

当下&#xff0c;用户希望在视频直播中呈现出最佳状态&#xff0c;这推动了视频美颜SDK和API的迅速发展。本文将深入剖析这项技术的核心原理、应用场景以及未来趋势。 一、实时美颜技术的基本原理 在实现这些效果的过程中&#xff0c;视频美颜SDK通常会使用以下几种技术&…

Geekbench6使用指南:Linux系统性能测试,如此简单!

在当今计算机性能日益重要的时代&#xff0c;Geekbench 成为了测试 CPU 性能的热门工具。本文将带你深入了解如何使用 Geekbench&#xff0c;让你的电脑性能一目了然。 1. 什么是 Geekbench&#xff1f; Geekbench 是一款跨平台的基准测试工具&#xff0c;能够评估单核和多核…

Ubuntu Server 20.04 64bit定时备份MySQL8.0.36数据库数据

一、编写sh脚本 常见备份命令介绍 我选用的是mysqldump命令&#xff0c;命令使用简介 [root]> mysqldump -helpUsage: mysqldump [OPTIONS] database_name [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all…

字节软件测试岗二面:APP测试问题被虐哭了,直到看到这些知识点

APP测试一直是大厂软件测试问到的一个重点细节&#xff0c;下面我来给大家展示一下大厂关于APP测试经常会问到的一些问题&#xff0c;以及解析。想象一下当你遇到面试官问到你这些问题时&#xff0c;你是否也能够对答如流哦&#xff01; 注意&#xff0c;注意啦&#xff01;小编…

对抗攻击方法详解:梯度攻击、转移攻击与模型集成攻击

对抗攻击方法详解&#xff1a;梯度攻击、转移攻击与模型集成攻击 近年来&#xff0c;随着深度学习模型在各个领域取得惊人突破&#xff0c;对抗攻击&#xff08;Adversarial Attack&#xff09; 逐渐成为研究热点。对抗攻击旨在通过在输入数据上施加精心设计的微小扰动&#x…

Meta号称替代程序员的LlamaCoder效果被CodeFlying秒杀,来看实测!

在讲LlamaCoder之前咱先浅聊一下Meta 这两天Meta凭借着Connect 2024大会可谓是风头正盛&#xff0c;刚刚发布的全新开源多模态大模型Llama3.2&#xff0c;热度是一路赶超咱的小草莓啊。 作为一款开源大模型能够和闭源的4o-mini、Claude3 Haiku打的有来有回&#xff0c; 甚至L…

32. Java栈和队列

1. 前言 栈和队列相关的题目是校招中出现频率一般,但是是属于相对基础的题型。我们要关注两类问题,栈和队列的添加和删除操作,以及栈和队列之间的区别和联系。 2. 栈和队列 2.1 数据结构 首先我们给出栈和队列的数据结构定义: (1)栈(Stack):允许在某一端插入元素(…

Ubuntu下Kafka安装及使用

Kafka是由Apache软件基金会开发的一个开源流处理平台&#xff0c;同时也是一个高吞吐量的分布式发布订阅消息系统。它由Scala和Java编写&#xff0c;具有多种特性和广泛的应用场景。 Kafka是一个分布式消息系统&#xff0c;它允许生产者&#xff08;Producer&#xff09;发布消…

CUDA error: no kernel image is available for execution on the device

记录一下出现上述问题的一个原因&#xff1a; pytorch所依赖的cuda版本不满足显卡(GPU)的算力要求&#xff01; 举例来说&#xff0c;显卡是3090&#xff0c;并按照以下命令安装Pytorch: conda install pytorch1.7.0 torchvision0.8.0 torchaudio0.7.0 cudatoolkit10.1 -c p…

另外知识与网络总结

一、重谈NAT&#xff08;工作在网络层&#xff09; 为什么会有NAT 为了解决ipv4地址太少问题&#xff0c;到了公网的末端就会有运营商路由器来构建私网&#xff0c;在不同私网中私有IP可以重复&#xff0c;这就可以缓解IP地址太少问题&#xff0c;但是这就导致私有IP是重复的…

2024最新gewechat开发微信机器人教程说明

简介&#xff1a;本文将指导你如何搭建一个微信机器人&#xff0c;通过接入gewe框架实现智能回复与聊天功能。我们将从基础设置开始&#xff0c;逐步讲解如何配置机器人&#xff0c;并通过实例展示其实际应用。 随着人工智能技术的不断发展&#xff0c;智能机器人已经成为我们…