部署参考案例

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部署相关推荐

  1. python与html5搭建聊天室_html5 websocket 新版协议聊天室 服务端(python版)

    网上找了很多代码都是旧版协议的,研究了很久终于弄清楚了 现在发个用新版协议写的服务端代码出来(这个代码是从网上旧版协议改过来的) 最要就是握手协议和发送接受字符的方式变了 # incoding=utf ...

  2. java自动化测试成长日记-之CVS客户端和服务端安装和部署1:CVS服务端的配置和基本使用...

    CVS服务端的配置和基本使用 在做java自动化测试集成环境搭建的时候,无论怎样,你都会选择一个源代码管理工具,如:SVN,CVS,VSS等:但如果你使用Eclipse工具,建议你使用CVS源代码管理 ...

  3. 使用docker部署一个直接可用的puppet服务端

    思路: 在一个docker环境,直接拉下来笔者的镜像,直接启动一个可用的容器即可. 此镜像提供一个直接可用的 puppet服务端(foreman/activemq/mcollective-client ...

  4. puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置...

    1.  概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...

  5. 【新手向】Nginx+pm2部署和发布Nuxt项目 实现服务端渲染

    Nuxt项目完成了 剩下的就是部署到服务器上了 但是网上的教程多半含混不清 顺序混乱 对新手不太友好 索性自己写一个比较全的教程吧 介绍 Nuxt项目打包后发布在服务器上是前台运行的 启动后 若将窗口 ...

  6. 【windows】实战部署二(使用)SVNserver服务端+SVNclient客户端

    SVN服务器应用 创建版本库 1.打开VisualSVN Server: 2.建立版本库: 需要右键单击左边窗口的Repositores,在弹出的右键菜单中选择Create New Repositor ...

  7. 【windows】实战部署一(安装)SVNserver服务端+SVNclient客户端

    1.环境准备 下载SVNserver https://www.visualsvn.com/server/download/ 下载SVNclient https://tortoisesvn.net/do ...

  8. vue脚手架做的项目如何放在服务端,vue项目部署到服务器

    在项目目录下(如:e:\workspace\taobao)运行 npm run build即可,完成后,就会在项目目录下有多一个dist目录,把dist下的内容就可以放在web服务器上了. 哈哈,完了 ...

  9. teleport最新版不支持mysql_Teleport服务端配置详解

    服务端配置文件说明 本文中%INSTDIR%指teleport服务端安装目录,默认位于/usr/local/teleport/. teleport配置文件位于%INSTDIR%/data/etc目录下 ...

最新文章

  1. android资源目录---assets与res/raw区别
  2. 基于阿里云RDS创建ECS自建从库
  3. 字符串太占内存了,我想了各种奇思淫巧对它进行压缩
  4. php 判断是否是机器人,如何用PHP检测搜索引擎机器人?
  5. Auto-ML之自动化特征工程
  6. C++验证哥德巴赫猜想
  7. 计算机科学与技术是属于什么学科,计算机科学与技术专业属于什么大类 属于哪个学科...
  8. 查看Sql Server2016是否激活
  9. AutoCAD-选项配置(OP)
  10. 自媒体-短视频搬运的那点事
  11. 使用容联云获取短信验证码
  12. JavaScript常用的字符串操作对象方法
  13. Android实现简单的网页跳转
  14. 3dsmax2022版本找不到漫反射和环境光解决
  15. vulnhub-ted靶场
  16. 目录树算法(毗邻目录模式、预排序遍历树算法)
  17. 在Kali 2022.2上成功编译驱动TP-LINK TL-WN726免驱版无线USB网卡 8188GU
  18. ext4 extent详解2之内核源码详解
  19. 每天一道Java编程05--逢7过:在控制台打印出1-100之间的满足逢七必过规则的数据
  20. 3DGIS第四章 视点相关的实时选择性细化

热门文章

  1. 网站丨别再说你找不到好用的工具了
  2. 蛙蛙推荐:自己写个分布式监控软件玩
  3. 曲率圆方程的求解思路,防止遗忘!!!
  4. KL净水系统技术拆解分析
  5. c语言面试题每日一练
  6. LCD屏幕参数通过数据手册得到--Linux驱动lcd
  7. 戴尔服务器装linux系统下载软件,戴尔R730服务器安装Red Hat Enterprise Linux 7.2操作系统...
  8. 可积与存在原函数无必然联系(第一类间断点没有原函数):一元微积分
  9. H5 动画大师 TweenMax.js/GSAP
  10. hihoCoder 1362 修补木桶