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:
- 安装Anaconda3:
./Anaconda3-2021.04-Linux-x86_64.sh
或sh Anaconda3-2021.04-Linux-x86_64.sh
- 根据提示按住回车继续(此部分是协议内容)
- 一直到底部出现 Do you accept the license terms? [yes|no]
- 输入
yes
程序执行
- 输入安装路径, 直接输入
anaconda3
即可,程序继续执行
- 提示是否写进环境变量,输入
yes
- 验证
conda info
- 重新打开终端命令窗口
- 此时前边会出现 (base)
创建虚拟环境:
-
conda create -n paddle python=3.8
-- python=3.8 : 指定Python版本,不指定默认Anacond3带的,这里不指定也可以
-
进入刚创建的虚拟环境
conda avtivate paddle
根据官网说明安装Paddlepaddle 和 paddlehub
- 执行命令:
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版本(顶部表格中有),如果支持直接执行上边命令即可。
-
验证Paddlepaddle 和 paddlehub:
执行命令
python3
在 python 环境中 执行import paddle
不报错即可exit()
退出 python环境
直接执行 hub
验证 paddlehub是否安装成功
如果不成功显示却什么依赖安装什么依赖即可
-
将下载好的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 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
整理安装文件
最后文件目录结构