一、OCR-docker部署最新版PaddleServing和PaddleOCR,服务端,客户端,dockerfile部署
部署参考案例
flask部署参考案例
官方参考:
PaddlePaddle安装方式
https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.5/deploy/pdserving
https://gitee.com/AI-Mart/PaddleOCR/blob/release/2.5/deploy/pdserving/README_CN.md#paddle-serving-pipeline%E9%83%A8%E7%BD%B2
一、Paddle Serving pipeline部署 python
1、下拉镜像
docker pull registry.baidubce.com/paddlepaddle/serving:0.9.0-cuda10.1-cudnn7-devel
2、进入镜像
nvidia-docker run -it --entrypoint=/bin/bash registry.baidubce.com/paddlepaddle/serving:0.9.0-cuda10.1-cudnn7-devel
3、安装特定PaddlePaddle
特定PaddlePaddle下载地址
wget https://paddle-inference-lib.bj.bcebos.com/2.3.0/python/Linux/GPU/x86-64_gcc8.2_avx_mkl_cuda10.1_cudnn7.6.5_trt6.0.1.5/paddlepaddle_gpu-2.3.0.post101-cp37-cp37m-linux_x86_64.whl
pip3.7 install paddlepaddle_gpu-2.3.0.post101-cp37-cp37m-linux_x86_64.whl
3.1、直接在线安装
PaddlePaddle在线安装方式
python3.7 -m pip install paddlepaddle-gpu==2.3.0.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
4、安装相关的包
pip3.7 install paddle-serving-client==0.9.0 paddle-serving-app==0.9.0 paddle-serving-server-gpu==0.9.0.post101 -i https://mirror.baidu.com/pypi/simple
5、下载OCR repo
git clone https://github.com/PaddlePaddle/PaddleOCR
cd PaddleOCR/deploy/pdserving/
6、下载并解压 OCR 文本检测模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar -O ch_PP-OCRv3_det_infer.tar && tar -xf ch_PP-OCRv3_det_infer.tar
7、下载并解压 OCR 文本识别模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar -O ch_PP-OCRv3_rec_infer.tar && tar -xf ch_PP-OCRv3_rec_infer.tar
8、转换检测模型
python3.7 -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_det_infer/ \--model_filename inference.pdmodel \--params_filename inference.pdiparams \--serving_server ./ppocr_det_v3_serving/ \--serving_client ./ppocr_det_v3_client/
9、转换识别模型
python3.7 -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_rec_infer/ \--model_filename inference.pdmodel \--params_filename inference.pdiparams \--serving_server ./ppocr_rec_v3_serving/ \--serving_client ./ppocr_rec_v3_client/
10、调整模型服务配置文件config.yml
减少并发数,比如调整为2:1防止资源不足
#并发数,is_thread_op=True时,为线程并发;否则为进程并发 concurrency: 8
#并发数,is_thread_op=True时,为线程并发;否则为进程并发 concurrency: 4
vim config.yml
i
:wq
11、启动服务端
python3.7 web_service.py &>log.txt &
12、启动客户端
python3.7 pipeline_http_client.py
二、Paddle Serving C++ 部署
1、下拉镜像
docker pull registry.baidubce.com/paddlepaddle/serving:0.9.0-cuda10.1-cudnn7-devel
2、进入镜像
nvidia-docker run -it --entrypoint=/bin/bash registry.baidubce.com/paddlepaddle/serving:0.9.0-cuda10.1-cudnn7-devel
3、安装特定PaddlePaddle
特定PaddlePaddle下载地址
wget https://paddle-inference-lib.bj.bcebos.com/2.3.0/python/Linux/GPU/x86-64_gcc8.2_avx_mkl_cuda10.1_cudnn7.6.5_trt6.0.1.5/paddlepaddle_gpu-2.3.0.post101-cp37-cp37m-linux_x86_64.whl
pip3.7 install paddlepaddle_gpu-2.3.0.post101-cp37-cp37m-linux_x86_64.whl
3.1、直接在线安装
PaddlePaddle在线安装方式
python3.7 -m pip install paddlepaddle-gpu==2.3.0.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
4、安装相关的包
pip3.7 install paddle-serving-client==0.9.0 paddle-serving-app==0.9.0 paddle-serving-server-gpu==0.9.0.post101 -i https://mirror.baidu.com/pypi/simple
5、下载OCR repo
git clone https://github.com/PaddlePaddle/PaddleOCR
cd PaddleOCR/deploy/pdserving/
6、下载并解压 OCR 文本检测模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar -O ch_PP-OCRv3_det_infer.tar && tar -xf ch_PP-OCRv3_det_infer.tar
7、下载并解压 OCR 文本识别模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar -O ch_PP-OCRv3_rec_infer.tar && tar -xf ch_PP-OCRv3_rec_infer.tar
8、转换检测模型
python3.7 -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_det_infer/ \--model_filename inference.pdmodel \--params_filename inference.pdiparams \--serving_server ./ppocr_det_v3_serving/ \--serving_client ./ppocr_det_v3_client/
9、转换识别模型
python3.7 -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_rec_infer/ \--model_filename inference.pdmodel \--params_filename inference.pdiparams \--serving_server ./ppocr_rec_v3_serving/ \--serving_client ./ppocr_rec_v3_client/
10、调整模型服务配置文件config.yml
减少并发数,比如调整为2:1防止资源不足
#并发数,is_thread_op=True时,为线程并发;否则为进程并发 concurrency: 8
#并发数,is_thread_op=True时,为线程并发;否则为进程并发 concurrency: 4
vim config.yml
i
:wq
11、启动服务端
python3.7 -m paddle_serving_server.serve --model ppocr_det_v3_serving ppocr_rec_v3_serving --op GeneralDetectionOp GeneralInferOp --port 9293 &>log.txt &
12、客户端配置修改
由于需要在C++Server部分进行前后处理,为了加速传入C++Server的仅仅是图片的base64编码的字符串,故需要手动修改 ppocr_det_v3_client/serving_client_conf.prototxt 中 feed_type 字段 和 shape 字段,修改成如下内容:
vim ppocr_det_v3_client/serving_client_conf.prototxt
i
:wq
feed_var {name: "x"alias_name: "x"is_lod_tensor: falsefeed_type: 20shape: 1}
13、启动客户端
python3.7 ocr_cpp_client.py ppocr_det_v3_client ppocr_rec_v3_client
一、OCR-docker部署最新版PaddleServing和PaddleOCR,服务端,客户端,dockerfile部署相关推荐
- python与html5搭建聊天室_html5 websocket 新版协议聊天室 服务端(python版)
网上找了很多代码都是旧版协议的,研究了很久终于弄清楚了 现在发个用新版协议写的服务端代码出来(这个代码是从网上旧版协议改过来的) 最要就是握手协议和发送接受字符的方式变了 # incoding=utf ...
- java自动化测试成长日记-之CVS客户端和服务端安装和部署1:CVS服务端的配置和基本使用...
CVS服务端的配置和基本使用 在做java自动化测试集成环境搭建的时候,无论怎样,你都会选择一个源代码管理工具,如:SVN,CVS,VSS等:但如果你使用Eclipse工具,建议你使用CVS源代码管理 ...
- 使用docker部署一个直接可用的puppet服务端
思路: 在一个docker环境,直接拉下来笔者的镜像,直接启动一个可用的容器即可. 此镜像提供一个直接可用的 puppet服务端(foreman/activemq/mcollective-client ...
- puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置...
1. 概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...
- 【新手向】Nginx+pm2部署和发布Nuxt项目 实现服务端渲染
Nuxt项目完成了 剩下的就是部署到服务器上了 但是网上的教程多半含混不清 顺序混乱 对新手不太友好 索性自己写一个比较全的教程吧 介绍 Nuxt项目打包后发布在服务器上是前台运行的 启动后 若将窗口 ...
- 【windows】实战部署二(使用)SVNserver服务端+SVNclient客户端
SVN服务器应用 创建版本库 1.打开VisualSVN Server: 2.建立版本库: 需要右键单击左边窗口的Repositores,在弹出的右键菜单中选择Create New Repositor ...
- 【windows】实战部署一(安装)SVNserver服务端+SVNclient客户端
1.环境准备 下载SVNserver https://www.visualsvn.com/server/download/ 下载SVNclient https://tortoisesvn.net/do ...
- vue脚手架做的项目如何放在服务端,vue项目部署到服务器
在项目目录下(如:e:\workspace\taobao)运行 npm run build即可,完成后,就会在项目目录下有多一个dist目录,把dist下的内容就可以放在web服务器上了. 哈哈,完了 ...
- teleport最新版不支持mysql_Teleport服务端配置详解
服务端配置文件说明 本文中%INSTDIR%指teleport服务端安装目录,默认位于/usr/local/teleport/. teleport配置文件位于%INSTDIR%/data/etc目录下 ...
最新文章
- android资源目录---assets与res/raw区别
- 基于阿里云RDS创建ECS自建从库
- 字符串太占内存了,我想了各种奇思淫巧对它进行压缩
- php 判断是否是机器人,如何用PHP检测搜索引擎机器人?
- Auto-ML之自动化特征工程
- C++验证哥德巴赫猜想
- 计算机科学与技术是属于什么学科,计算机科学与技术专业属于什么大类 属于哪个学科...
- 查看Sql Server2016是否激活
- AutoCAD-选项配置(OP)
- 自媒体-短视频搬运的那点事
- 使用容联云获取短信验证码
- JavaScript常用的字符串操作对象方法
- Android实现简单的网页跳转
- 3dsmax2022版本找不到漫反射和环境光解决
- vulnhub-ted靶场
- 目录树算法(毗邻目录模式、预排序遍历树算法)
- 在Kali 2022.2上成功编译驱动TP-LINK TL-WN726免驱版无线USB网卡 8188GU
- ext4 extent详解2之内核源码详解
- 每天一道Java编程05--逢7过:在控制台打印出1-100之间的满足逢七必过规则的数据
- 3DGIS第四章 视点相关的实时选择性细化
热门文章
- 网站丨别再说你找不到好用的工具了
- 蛙蛙推荐:自己写个分布式监控软件玩
- 曲率圆方程的求解思路,防止遗忘!!!
- KL净水系统技术拆解分析
- c语言面试题每日一练
- LCD屏幕参数通过数据手册得到--Linux驱动lcd
- 戴尔服务器装linux系统下载软件,戴尔R730服务器安装Red Hat Enterprise Linux 7.2操作系统...
- 可积与存在原函数无必然联系(第一类间断点没有原函数):一元微积分
- H5 动画大师 TweenMax.js/GSAP
- hihoCoder 1362 修补木桶