基於PaddleHub Serving的服務部署
hubserving服務部署目錄下包括檢測、識別、2階段串聯三種服務包,請根據需求選擇相應的服務包進行安裝和啟動。目錄結構如下:
deploy/hubserving/
└─ ocr_det 檢測模塊服務包
└─ ocr_rec 識別模塊服務包
└─ ocr_system 檢測+識別串聯服務包
每個服務包下包含3個文件。以2階段串聯服務包為例,目錄如下:
deploy/hubserving/ocr_system/
└─ __init__.py 空文件,必選
└─ config.json 配置文件,可選,使用配置啟動服務時作為參數傳入
└─ module.py 主模塊,必選,包含服務的完整邏輯 └─ params.py 參數文件,必選,包含模型路徑、前后處理參數等參數
快速啟動服務
以下步驟以檢測+識別2階段串聯服務為例,如果只需要檢測服務或識別服務,替換相應文件路徑即可。
1. 准備環境
克隆代碼:https://gitee.com/paddlepaddle/PaddleOCR.git,解壓並進入PaddleOCR文件夾
# 安裝paddlehub
pip3 install paddlehub --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 下載推理模型
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提供的模型庫下載,也可以替換成自己訓練轉換好的模型。
3. 安裝服務模塊
PaddleOCR提供3種服務模塊,根據需要安裝所需模塊。
- 在Linux環境下,安裝示例如下:
# 安裝檢測服務模塊:
hub install deploy/hubserving/ocr_det/ # 或,安裝識別服務模塊: hub install deploy/hubserving/ocr_rec/ # 或,安裝檢測+識別串聯服務模塊: hub install deploy/hubserving/ocr_system/
- 在Windows環境下(文件夾的分隔符為
\
),安裝示例如下:
# 安裝檢測服務模塊:
hub install deploy\hubserving\ocr_det\ # 或,安裝識別服務模塊: hub install deploy\hubserving\ocr_rec\ # 或,安裝檢測+識別串聯服務模塊: hub install deploy\hubserving\ocr_system\
4. 啟動服務
方式1. 命令行命令啟動(僅支持CPU)
啟動命令: hub serving start -c D:\XHX\Develop\Paddale\PaddleOCR\deploy\hubserving\ocr_system\config.json
在內網環境實現離線安裝方式
安裝
1、安裝python
參見7.python安裝
2、安裝setuptools_scm模塊——進入~/ocr/setuptools_scm/ 目錄下
pip3 install --no-index --find-links=~/ocr/setuptools_scm -r requirements.txt
3、安裝paddle hub依賴模塊——進入到~/ocr/dependency 文件夾下
pip3 install --no-index --find-links=~/ocr/dependency -r requirements.txt
4、配置模型路徑、檢測方式,進入 ~/ocr/PaddleOCR/deploy/hubserving/ocr_system 目錄
3、配置模型路徑、識別模式,進入 ~/ocr/PaddleOCR/deploy/hubserving/ocr_system 目錄
① 將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/"
③ 配置識別模式,修改config.json文件
"use_gpu": false
5、初始化ocr_system模塊,進入 ~/ocr/PaddleOCR/
hub install ./deploy/hubserving/ocr_system/
啟動服務
進入 ~/ocr/PaddleOCR/ 目錄下,執行如下命令
hub serving start -c ~/PaddleOCR/deploy/hubserving/ocr_system/config.json
~:PaddleOCR所在目錄