首页 > 其他分享 >PaddleOCR(PaddleHub Serving)离线部署包制作

PaddleOCR(PaddleHub Serving)离线部署包制作

时间:2022-11-18 18:25:39浏览次数:76  
标签:ch PaddleHub PaddleOCR 离线 v2.0 sh Serving install pip

PaddleOCR(PaddleHub Serving)离线部署包制作

环境与版本:

系统 CPU架构 Anaconda3 PaddlePaddle PaccleOCR
银河麒麟Server V10 X86 Anaconda3-2021.04-Linux-x86_64 paddlepaddle-2.3.2-cp38-cp38-linux_x86_64 PaddleOCR-release-2.3

因为本次下载的是noavx核心版本的Paddlepaddle,所以需要Anaconda3默认自带Python3.8的版本

安装Anaconda3:

  1. 安装Anaconda3:
  • ./Anaconda3-2021.04-Linux-x86_64.shsh Anaconda3-2021.04-Linux-x86_64.sh
  • 根据提示按住回车继续(此部分是协议内容)
  • 一直到底部出现 Do you accept the license terms? [yes|no]
  • 输入 yes 程序执行

img0

  • 输入安装路径, 直接输入 anaconda3 即可,程序继续执行

img1

  • 提示是否写进环境变量,输入 yes

img2

  • 验证 conda info
  • 重新打开终端命令窗口
  • 此时前边会出现 (base)

img3

创建虚拟环境:

  1. conda create -n paddle python=3.8

    -- python=3.8 : 指定Python版本,不指定默认Anacond3带的,这里不指定也可以

  2. 进入刚创建的虚拟环境

    conda avtivate paddle

根据官网说明安装Paddlepaddle 和 paddlehub

  1. 执行命令:
    pip install --upgrade paddlepaddle -i https://mirror.baidu.com/pypi/simple
    pip install --upgrade paddlehub -i https://mirror.baidu.com/pypi/simple
  • 如果cpu不支持avx指令需要下载 Paddlepaddle-noavx版本(顶部表格中有),如果支持直接执行上边命令即可
  1. 验证Paddlepaddle 和 paddlehub:

    执行命令 python3 在 python 环境中 执行 import paddle 不报错即可 exit() 退出 python环境

img6

直接执行 hub 验证 paddlehub是否安装成功

img7

如果不成功显示却什么依赖安装什么依赖即可

  • 将下载好的PaddleOCR解压到需要的目录:

    在PaddleOCR-release-2.3目录下创建reference并将下载好的推理模型解压进去

    模型名称 模型简介 配置文件 推理模型大小 下载地址
    ch_ppocr_mobile_v2.0_rec 原始超轻量模型,支持中英文、数字识别 rec_chinese_lite_train_v2.0.yml 5.20M 推理模型
    ch_ppocr_mobile_v2.0_det 原始超轻量模型,支持中英文、多语种文本检测 ch_det_mv3_db_v2.0.yml 3.0M 推理模型
    ch_ppocr_mobile_v2.0_cls 原始分类器模型,对检测到的文本行文字角度分类 cls_mv3.yml 1.38M 推理模型
  • 修改参数文件 PaddleOCR-release-2.3\deploy\hubserving\ocr_system\params.py 文件中模型路径

    cfg.det_model_dir = "./inference/ch_PP-OCRv3_det_infer/"
    cfg.rec_model_dir = "./inference/ch_PP-OCRv3_rec_infer/"
    cfg.cls_model_dir = "./inference/ch_ppocr_mobile_v2.0_cls_infer/"

    将以上路径修改为

    cfg.det_model_dir = "./reference/ch_ppocr_mobile_v2.0_det_infer/"
    cfg.rec_model_dir = "./reference/ch_ppocr_mobile_v2.0_rec_infer/"
    cfg.cls_model_dir = "./reference/ch_ppocr_mobile_v2.0_cls_infer/"

  • 修改配置文件 PaddleOCR-release-2.3\deploy\hubserving\ocr_system\config.json

    "use_gpu": true

    将使用gpu修改为false

    "use_gpu": false

测试是否能安装服务

执行 hub install ./deploy/hubserving/ocr_system/
和运行服务 hub serving start -c ./deploy/hubserving/ocr_system/config.json

建议在当前路径新建两个shll脚本 install.sh脚本 和 run.sh脚本

install.sh脚本 :

#!/bin/bash
hub install ./deploy/hubserving/ocr_system/

run.sh脚本 :

#!/bin/bash
hub serving start -c ./deploy/hubserving/ocr_system/config.json 

显示缺依赖"shapely"

img0

直接安装 pip install shapely

继续执行install.sh脚本,如果还却依赖继续安装,直到可以安装和启动服务

如果pip速度慢可以设置清华源

下载离线安装包

查看当前环境的所有依赖
pip list

新建一个文件夹并进入
makdir paddle && cd paddle

创建requirements.txt文件

然后执行命令:pip install -r requirements.txt
将所有环境依赖写入requirements.txt :pip list --format=freeze > requirements.txt
下载requirements.txt中所有依赖到当前目录: pip download -d ./ -r requirements.txt

这里也建议写一个安装install.sh脚本
此脚本是离线安装所有依赖

#!/bin/bash
pip3 install --no-index --find-links=./ -r requirements.txt

整理安装文件

最后文件目录结构

img8

部署文档详见另一篇文章

标签:ch,PaddleHub,PaddleOCR,离线,v2.0,sh,Serving,install,pip
From: https://www.cnblogs.com/zwbsoft/p/16904156.html

相关文章

  • wrk压测TF-serving
    serving服务#启动镜像dockerrun-t--rm-p8501:8501\-v"${PATH}/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu:/models......
  • Docker离线部署Nginx
    总体思路:在有网络的环境上制作Nginx的镜像包,导出并上传至无网络的环境上,启动Nginx即可。  在上一篇《无网环境DockerRpm离线安装》里面,已经在联网的机器上安装好了......
  • 无网环境Docker Rpm离线安装
    总体思路:找一台可以联网的linux,下载docker的RPM依赖包而不进行安装(yumlocalinstall),将所有依赖的rpm环境打包好,再在无网环境中解压逐一安装(rpm:--force--nodeps)。提前......
  • Docker离线安装使用
    离线安装dockerhttps://www.cnblogs.com/yaoyin/p/16532355.htmldocker离线安装并导入镜像https://blog.csdn.net/m0_67266585/article/details/124174122......
  • Linux centos 在线|离线安装依赖
    离线安装yuminstall--downloadonly--downloaddir=/home/fileszlib-develbzip2-developenssl-develncurses-develepel-releasegccgcc-c++xz-develreadline-de......
  • LCA 之 Tarjan(离线)算法
    \(LCA\)之\(Tarjan\)(离线)算法什么是最近公共祖先?在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先......
  • Windows Server 2016离线安装.NET Framework 3.5
    安装方法:1、下载NetFx3.cab后将其放于C盘WINDOWS文件夹下(C:\Windows)2、点击“开始”找到“WindowsPowerShell”右击“以管理员身份运行”,输入如下命令:dism.exe/onlin......
  • Ubuntu20.04离线安装mysql8.0
    参考网址#1.官网下载对应的文件并解压tar-xfmysql-server_8.0.31-1ubuntu20.04_amd64.deb-bundle.tar#2.下载所需的依赖wgethttp://archive.ubuntu.com/ubuntu/pool......
  • 百度离线地图JS API V3.0
    首先,百度地图JavaScriptAPI3.0版本与2.0版本相比增加了几个小功能,整体没有大的改动,具体可以在官网上查阅。于是就照着先前大佬们分享的2.0离线版本进行3.0版本的制作,附上......
  • 判断NFS服务器挂了或者离线问题
    判断NFS服务器挂了或者离线问题NFS服务器挂了会导致挂载的NFS客户端主机卡顿延迟,或者提示找不到文件因为在执行一些命令的时候会自动去同步,用作同步的NFS服务端挂了,命令......