百度飛槳(PaddlePaddle) - PP-OCRv3 文字檢測識別系統 基於 Paddle Serving快速使用(服務化部署 - Docker)

百度飛槳(PaddlePaddle) - PP-OCRv3 文字檢測識別系統 預測部署簡介與總覽
百度飛槳(PaddlePaddle) - PP-OCRv3 文字檢測識別系統 Paddle Inference 模型推理(離線部署)
百度飛槳(PaddlePaddle) - PP-OCRv3 文字檢測識別系統 基於 Paddle Serving快速使用(服務化部署 - CentOS)
百度飛槳(PaddlePaddle) - PP-OCRv3 文字檢測識別系統 基於 Paddle Serving快速使用(服務化部署 - Docker)

查看版本
https://hub.docker.com/r/paddlepaddle/paddle/tags/?page=1&name=cpu
image

安裝

Docker 安裝

# 切換進 opt/ppocr 目錄
[root@localhost ~]# cd /opt/ppocr/
[root@localhost ppocr]# pwd
/opt/ppocr
[root@localhost ppocr]# 

# 獲取鏡像
[root@localhost ppocr]# docker pull registry.baidubce.com/paddlepaddle/paddle:2.2.2
# 創建一個名字爲ppocr的docker容器,並將當前目錄映射到容器的/paddle目錄下
[root@localhost ppocr]# docker run --name ppocr -v $PWD:/paddle --network=host -it registry.baidubce.com/paddlepaddle/paddle:2.2.2 /bin/bash
# --name ppocr:設定 Docker 的名稱,ppocr 是自己設置的名稱;
# -it:參數說明容器已和本機交互式運行;
# -v $PWD:/paddle:指定將當前路徑(PWD 變量會展開爲當前路徑的絕對路徑)掛載到容器內部的 /paddle 目錄;(相當於 /opt/ppocr 掛載到容器內)
# registry.baidubce.com/paddlepaddle/paddle:2.2.2:指定需要使用的 image 名稱,您可以通過docker images命令查看;/bin/bash 是在 Docker 中要執行的命令

# ctrl+P+Q可退出docker 容器,重新進入docker 容器使用如下命令
[root@localhost ppocr]# docker exec -it ppocr /bin/bash
λ localhost /home

PaddleOCR 安裝

# 升級 pip 
pip install -U pip
# 容器中已經包含了 paddlepaddle 2.2.2
pip list
# 拉取 PaddleOCR 代碼
git clone https://gitee.com/paddlepaddle/PaddleOCR.git
# 切換進入 PaddleOCR 目錄
cd PaddleOCR
# 安裝運行所需要的whl包
pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple

準備PaddleServing的運行環境,

# 安裝serving,用於啓動服務
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_server-0.8.3-py3-none-any.whl
pip install paddle_serving_server-0.8.3-py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安裝client,用於向服務發送請求
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_client-0.8.3-cp37-none-any.whl
pip install paddle_serving_client-0.8.3-cp37-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安裝serving-app
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_app-0.8.3-py3-none-any.whl
pip install paddle_serving_app-0.8.3-py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

模型轉換

首先,下載PP-OCR的inference模型

cd deploy/pdserving/ 
# 下載並解壓 OCR 文本檢測模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar -O ch_PP-OCRv3_det_infer.tar && tar -xf ch_PP-OCRv3_det_infer.tar
# 下載並解壓 OCR 文本識別模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar -O ch_PP-OCRv3_rec_infer.tar &&  tar -xf ch_PP-OCRv3_rec_infer.tar

# 用安裝的paddle_serving_client把下載的inference模型轉換成易於server部署的模型格式。
# 轉換檢測模型
python -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_det_infer/ \
                                         --model_filename inference.pdmodel          \
                                         --params_filename inference.pdiparams       \
                                         --serving_server ./ppocr_det_v3_serving/ \
                                         --serving_client ./ppocr_det_v3_client/
# 轉換識別模型
python -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_rec_infer/ \
                                         --model_filename inference.pdmodel          \
                                         --params_filename inference.pdiparams       \
                                         --serving_server ./ppocr_rec_v3_serving/  \
                                         --serving_client ./ppocr_rec_v3_client/
# 查看文件夾
ll ppocr_det_v3_client ppocr_det_v3_serving ppocr_rec_v3_serving ppocr_rec_v3_client

Paddle Serving pipeline部署

啓動服務,測試時使用,窗口關閉服務停止
python web_service.py --config=config.yml

# 啓動服務(後臺運行),運行日誌保存在log.txt
nohup python web_service.py --config=config.yml &>log.txt &
tail -f ./log.txt

重啓

# 如果容器停止,重啓容器
docker restart ppocr
# 進入容器
docker exec -it ppocr /bin/bash
# 切換目錄
cd PaddleOCR/deploy/pdserving/
# 啓動服務
python web_service.py --config=config.yml

測試

img

參考 :
https://www.paddlepaddle.org.cn/documentation/docs/zh/install/docker/linux-docker.html
https://www.paddlepaddle.org.cn/tutorials/projectdetail/3946013
https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/installation.md
https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.6/deploy/pdserving/README_CN.md

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章