分享

离线部署PaddleOCR教程(我亲自测试过)

 hncdman 2022-05-25 发布于湖南

根据本教程是可以成功的,可与paddle ocr 安装部署与使用教程(解决出错可参考)配合使用,
本教程演示 Anaconda 下 离线部署 Paddle OCR教程  人人可用

准备工作 自行安装  Anaconda  安装 时候该勾选的全部勾选  python3.8记得勾选 如果已有其他版本的python  请自行测试

正式开始


1.官网https://www./install/quick?docurl=/documentation/docs/zh/install/conda/windows-conda.html


按照 自己配置 选择安装    pip 未安装成功 各种报错 docker未测试  

需注意 cuda版本 必须和显卡驱动对应 可以向下兼容

需要确认的步骤 官网写的很清楚

2.
安装完成后  安装 paddleHub Anaconda命令下 pip install paddlehub -i https://mirror.baidu.com/pypi/simple --default-timeout=100   后面的链接是镜像加速 不加链接 95%会各种失败

3.
pip install cython -i  https://mirror.baidu.com/pypi/simple --default-timeout=100

4.
下载 PaddleOCR   https:///paddlepaddle/PaddleOCR?_from=gitee_search   打开网址 点击 克隆/下载  下载之后 解压

5.  
cd 到  刚才下载的目录下

6.   
特别注意这一步 很容易在这一步 走不出来
安装检测识别串联服务模块   必须 先cd到 paddleOCR目录


hub install deploy/hubserving/ocr_system/
hub install deploy/hubserving/ocr_cls/
hub install deploy/hubserving/ocr_det/
hub install deploy/hubserving/ocr_rec/     这几个命令 直接复制过去  enter  等待执行



注意 此时会报错  看报错的最后一行 提示  


缺少什么 就安装什么  具体命令为
pip install shapely -i  https://mirror.baidu.com/pypi/simple --default-timeout=100    其中 shapely 为缺少的库  只做例子  会报错几个缺少库  
提示缺paddle时用下面的,版本看GITEE上的就行
python -m pip install --upgrade pip

python -m pip install paddlepaddle==2.3.0 -i https://mirror.baidu.com/pypi/simple

记得看命令号 如果 安装报错 可以多安装几次  


缺少dll就下载dll 自定百度  看命令行上 提示的路径 下载dll复制进bin目录  再次运行命令



7.
下载 识别模型 https://hub./PaddlePaddle/PaddleOCR/blob/release/2.3/README_ch.md  自带的是 mobile模型  

如需更改 模型名称 在  deploy\hubserving\.\ 的  params.py  中更改即可,根据下载的模型自已修改
{

① 将reference文件夹解压,拷贝至 ~/ocr/PaddleOCR/ 目录下

② 配置模型路径,修改params.py文件

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

}
这里提供 百度云链接 已替换成 高精度 的识别模型 可直接下载 解压的PaddleOCR的根目录即可无需更改 也就是之前下载的PaddleOCR目录


--来自百度网盘超级会员V6的分享

PaddleOCR下新建'inference’文件夹,准备推理模型并放到'inference’文件夹里面,默认使用的是v1.1版的超轻量模型,

https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/quickstart.md 

默认模型路径为:

检测模型:./inference/ch_ppocr_mobile_v1.1_det_infer/
识别模型:./inference/ch_ppocr_mobile_v1.1_rec_infer/
方向分类器:./inference/ch_ppocr_mobile_v1.1_cls_infer/

模型路径可在params.py中查看和修改。 更多模型可以从PaddleOCR提供的模型库下载,也可以替换成自己训练转换好的模型。


8.
再次 输入(前提是 没有报错 )
hub install deploy/hubserving/ocr_system/
hub install deploy/hubserving/ocr_cls/
hub install deploy/hubserving/ocr_det/
hub install deploy/hubserving/ocr_rec/


此时会提示

[2021-09-28 13:16:00,232] [    INFO] - Successfully uninstalled ocr_system
[2021-09-28 13:16:00,677] [    INFO] - Successfully installed ocr_system-1.0.0   类似这种   这就成功了
!!!!一定注意命令行 缺少什么就装什么 无脑装 如果都装了还是不行 别慌  重复第二个步骤

9.最后 启动 Hubseving

这里提供  用config的方式 启动 其他方式 请看 官网的文档命令

配置文件在 刚才下载的 paddleOCR   目录下的 \deploy\hubserving\ocr_system\config.json  可自行修改  
如果用CPU  config中的use_gpu  改为false  注意  paddleOCR  在 windows下 是不支持多线程的  
//GPU的识别速度是CPU的8-10倍左右  有条件的 建议GPU
//实测 CPU 100次 在13秒左右 GPU只需要2-3秒

开始运行
hub serving start -c  PaddleOCR目录+"\deploy\hubserving\ocr_system\config.json"   用配置文档 启动 具体每个参数代表的什么意思 看官方文档介绍

此时 如无意外 提示
* Serving Flask app "paddlehub.serving.app_compat" (lazy loading)
* Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:8868/ (Press CTRL+C to quit)

10 调用
最后附上 POST 提交识别代码


.版本 2
.支持库 spec
.局部变量 base64, 文本型
.局部变量 Str, 文本型
.局部变量 post, 文本型

base64 = 到文本 (编码_BASE64编码A (#图片1, ))
post = “{\'images\': [\'” + base64 + “\']}”
post = 子文本替换 (post, “'”, #引号, , , 真)
post = 子文本替换 (post, “\”, “”, , , 真)
Str = 编码_utf8到gb2312 (到文本 (网页_访问_对象 (“http://127.0.0.1:8868/predict/ocr_system”, 1, post, , , “Content-Type:application/json”, , , , , , , , , , , , , )))
调试输出 (Str)

这里的协议头 是必须要带上  勿忘  
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
写在最后 python版本不一样 会出现各种报错 也许也是我的问题 大家可以研究研究
//GPU的 安装 也在 官网 自己对应版本安装 conda install paddlepaddle-gpu==2.1.3 cudatoolkit=10.2 --channel file:///C:/Users/Q/AppData/Roaming/Tencent/QQTempSys/%W@GJ$ACOF(TYDYECOKVDYB.pnghttps://mirrors.tuna./anaconda/cloud/Paddle/
cudnn需要根据cuda版本 自己选择安装一般 7.6  如果 有报错 命令行 会有提示 仔细看看 就行
需要更改 config  use_gpu:true  
另外需要设置环境变量
set CUDA_VISIBLE_DEVICES=1  //具体 对应的参数 是GPU的ID  这个我也不是太懂 一般就是 1  可以自行百度 研究下
另外 如果重启过后 提示 找不到 ocr_serving 直接重复步骤8  再重新启动 就可以了
GPU第一次运行识别 会检测 cuda和cudnn版本   会慢一点 第二次识别好了
/////另外如果需要编译好的EXE 可以找我 (付费)  一键启动 无需任何设置

用模型V1.1时报正面的错:
not find model file path ./inference/ch_ppocr_mobile_v1.1_det_infer//inference.pdmodel

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多