Anolis8.8上使用docker部署PaddleOCR(CPU)

安装 PaddlePaddle2.6(基于Docker)

拉取预安装 PaddlePaddle 的镜像:

docker pull registry.baidubce.com/paddlepaddle/paddle:2.6.1

启动并进入docker容器:

docker run --name paddle -it -v $PWD:/paddle registry.baidubce.com/paddlepaddle/paddle:2.6.1 /bin/bash

后续操作在PaddlePaddle2.6容器中完成

安装 PaddleOCR

创建普通用户

λ 6a20bf5c840d /home useradd zrunner
λ 6a20bf5c840d /home mkdir zrunner
λ 6a20bf5c840d /home chown zrunner.zrunner zrunner/ -R
λ 6a20bf5c840d /home su - zrunner
λ 6a20bf5c840d /home echo "export PATH=/home/zrunner/.local/bin:$PATH" >> /etc/profile
λ 6a20bf5c840d /home source /etc/profile

安装paddlehub(以下操作由创建的普通用户完成)

pip install paddlehub==2.4.0

克隆 PaddleOCR 的 repo 代码

git clone https://github.com/PaddlePaddle/PaddleOCR.git
如果github拉取不到拉取gitee的git clone https://gitee.com/PaddlePaddle/PaddleOCR.git

安装 PaddleOCR 的 python 依赖

cd PaddleOCR
pip install -r requirements.txt

安装推理模型(检测、识别)

下载PPOCR的inference模型:

mkdir inference   
# 下载并解压 OCR 文本检测模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar -P /home/zrunner/PaddleOCR/inference/
tar xf  /home/zrunner/PaddleOCR/inference/ch_PP-OCRv3_det_infer.tar -C /home/zrunner/PaddleOCR/inference/
# 下载并解压 OCR 文本识别模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar -P /home/zrunner/PaddleOCR/inference/
tar xf /home/zrunner/PaddleOCR/inference/ch_PP-OCRv3_rec_infer.tar -C /home/zrunner/PaddleOCR/inference/
# 下载方向检测模型
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar -P /home/zrunner/PaddleOCR/inference/
tar xf /home/zrunner/PaddleOCR/inference/ch_ppocr_mobile_v2.0_cls_infer.tar -C /home/zrunner/PaddleOCR/inference/

安装OCR模块

hub install deploy/hubserving/ocr_system/

报错urllib3和chardet的版本不匹配,protobuf 的版本不兼容

更新requests模块,更换protobuf版本

pip install protobuf==3.20.2

然后重新安装ocr模块

hub install deploy/hubserving/ocr_system/

命令行测试

上传一张带文字的图片,”/PATH/TO/IMAGE”为图片路径

hub run ch_pp-ocrv3 --input_path "/PATH/TO/IMAGE"

后台启动服务

nohup hub serving start -m ch_pp-ocrv3 &

查看端口是否启动服务端口,默认为8866

参考:https://blog.csdn.net/bugang4663/article/details/132994411