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"

直接安装 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

整理安装文件

最后文件目录结构

部署文档详见另一篇文章

最新文章

  1. 详解Js中文件读取机制
  2. Cornerstone详细操作
  3. 【转载】JS获取屏幕大小
  4. Python科学计算——前期准备
  5. Linux与Windows共享文件夹之samba的安装与使用(Ubuntu为例)
  6. 点亮一个led
  7. cocos2dx下最大纹理大小取决于平台
  8. MySqL触发器以及常用转换函数注意事项
  9. asp.net笔试题
  10. iOS执行时与method swizzling
  11. jQuery第四章
  12. “-webkit-font-smoothing”
  13. Python实战171202元组访问
  14. C# 对串口的操作
  15. mac配置自带vim高亮显示
  16. 卷积神经网络CNN的意义
  17. eclipse java ee jsp tomcat Server文件夹给删了,怎么办?
  18. fiddler学习笔记&&基本使用
  19. 517. Super Washing Machines
  20. ADF中VO的删除操作初探

热门文章

  1. libvirtd升级
  2. 网络图片转base64
  3. ROS自动检测安装功能依赖包
  4. 从个人角度谈为什么要使用git多分支?
  5. 靶场练习2:cloudantvirus
  6. Chrome禁用开发者工具
  7. 单个Java文件连接数据库demo
  8. 将pyinstaller打包的exe文件制作成安装包
  9. 微服务笔记之Euraka(2)
  10. Apache和Nginx设置伪静态(URL Rewrite)的方法