百度飞浆 PaddleOCR HubServing的部署 (CentOS 7)

**环境:python 3.7.1 **

1. 安装paddlehub

安装paddlehub之前,需要先安装paddlepaddle,对此我深有体会。
百度飞浆快速安装说明:https://www.paddlepaddle.org.cn/install/quick#show_info

pip3 install paddlepaddle --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,会有下面类似的提示,

Installing collected packages: paddlepaddle
Successfully installed paddlepaddle-1.8.3

检查下是否安装成功。目前我安装的版本时1.8.3。
使用 python 进入python解释器,输入

import paddle.fluid 

再输入

paddle.fluid.install_check.run_check()

如果出现 Your Paddle Fluid is installed successfully!,说明您已成功安装。

安装paddlehub

官方文档地址:https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/serving.md

pip3 install paddlehub --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

安装过程中提示“ModuleNotFoundError: No module named 'skbuild'” ,原因是一些依赖模块没有安装,执行下面命令进行安装。

pip3 install cmake -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install scikit-build -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,重新执行安装paddlehub,安装过程中执行opencv-python一直卡住不动,可以尝试升级pip版本再试。
我安装时有一个警告提示:

WARNING: The script hub is installed in '/usr/local/python3.7/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

export添加到环境变量中export PATH=$PATH:/usr/local/python3.7/bin
执行下面命令,添加linux环境变量,方便后面使用hub命令。

export PYTHONPATH=.

2.安装服务模块

下载PaddleOCR源码到本地,github地址:https://github.com/PaddlePaddle/PaddleOCR
这里我放在了/opt目录下,解压缩

unzip PaddleOCR-develop.zip

切换到PaddleOCR-develop目录下,准备安装服务模块。
PaddleOCR提供3种服务模块,根据需要安装所需模块。安装示例如下:
安装检测服务模块

hub install deploy/hubserving/ocr_det/

安装识别服务模块

hub install deploy/hubserving/ocr_rec/

安装检测+识别串联服务模块

hub install deploy/hubserving/ocr_system/

ps:若提示bash: hub: command not found... 则就把上面的/usr/local/python3.7/bin添加到环境变量中。

我这里提示了另一个错误,

not find model file path ./inference/ch_det_mv3_db//model

模型路径不对,找到deploy/hubserving/ocr_system/params.py中,将文字检测和文字识别模型地址改为你对应的路径。
百度飞浆的模型提供下载地址:https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/quickstart.md

#params for text detector
cfg.det_algorithm = "DB"
cfg.det_model_dir = "./inference/ch_det_mv3_db/"
cfg.det_max_side_len = 960
#params for text recognizer
cfg.rec_algorithm = "CRNN"
cfg.rec_model_dir = "./inference/ch_rec_mv3_crnn/"

安装成功提示

Successfully installed ocr_system

执行hub list 看是否安装成功


image.png

3.启动服务

启动方式有两种,一种是命令行方式,一种是配置文件方式,这里我使用配置文件方式,其他大家可参考官方文档。
找到/ocr_system/config.json文件,打开并修改相应的参数。

{
    "modules_info": {
        "ocr_system": {
            "init_args": {
                "version": "1.0.0",
                "use_gpu": false
            },
            "predict_args": {
            }
        }
    },
    "port": 8868,
    "use_multiprocess": false,
    "workers": 2
}

因为我本地环境是cpu所以就只是把use_gpu:false。启动服务

hub serving start -c deploy/hubserving/ocr_system/config.json

你可能感兴趣的:(百度飞浆 PaddleOCR HubServing的部署 (CentOS 7))