一、
二、安装
注:
安装 PaddleOCR 2.3 。
因为 PaddleOCR 2.4 的 推荐环境 PaddlePaddle >= 2.1.2。
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.4/doc/doc_ch/environment.md
安装前的环境准备
在使用Paddle Serving之前,需要完成如下任务:
(1)安装python 3.8
具体安装方法请参见 Ubuntu 14.04:安装PaddlePaddle(Conda安装)-CSDN博客
(2)安装paddlepaddle 2.0.0
具体安装方法请参见 Ubuntu 14.04:安装PaddlePaddle(Conda安装)-CSDN博客
参考资料:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/doc/doc_ch/environment.md
安装时的运行环境准备
准备 PaddleOCR 的运行环境链接
下载 PaddleOCR 2.3
https://codeload.github.com/PaddlePaddle/PaddleOCR/zip/refs/heads/release/2.3
上传到目标位置,解压
unzip PaddleOCR-release-2.3.zip
注:
官方文档中,是 clone。
因为我 clone 时有异常,偷懒不想处理,就直接下载包,然后安装。
查看 github 中的 PaddleOCR 版本
GitHub - PaddlePaddle/PaddleOCR
准备 PaddleServing 的运行环境
参考资料:https://github.com/PaddlePaddle/Serving/blob/v0.9.0/doc/Latest_Packages_EN.md
查看版本:
https://github.com/PaddlePaddle/Serving
切换到 PaddleOCR 的运行环境中的 pdserving 目录
/home/xxx/PaddleOCR-release-2.3/deploy/pdserving
paddle-serving-server:paddle_serving_server-0.9.0-py3-none-any.whl
安装server,用于启动服务
下载
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_server-0.9.0-py3-none-any.whl
安装
注:此处需要进入paddlepaddle所在的Anaconda虚拟环境,那里面才有pip3。
pip3 install paddle_serving_server-0.9.0-py3-none-any.whl
paddle-serving-app:paddle_serving_app-0.9.0-py3-none-any.whl
下载
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/arm/paddle_serving_app-0.9.0-py3-none-any.whl
安装
注:此处需要进入paddlepaddle所在的Anaconda虚拟环境,那里面才有pip3。
pip3 install paddle_serving_app-0.9.0-py3-none-any.whl
paddle-serving-client: paddle_serving_client-0.9.0-cp38-none-any.whl
安装client,用于向服务发送请求。
下载
下载链接:
https://github.com/PaddlePaddle/Serving/blob/v0.9.0/doc/Latest_Packages_EN.md
注:不同的Python版本,对应不同哦!
也可以直接用wget:
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_client-0.9.0-cp38-none-any.whl
whl包放到目标位置
/home/xxx/PaddleOCR-release-2.3/deploy/pdserving
安装
注:此处需要进入paddlepaddle所在的Anaconda虚拟环境,那里面才有pip3。
pip3 install paddle_serving_client-0.9.0-cp38-none-any.whl
inference 模型转换
使用PaddleServing做服务化部署时,需要将保存的inference模型转换为serving易于部署的模型。
模型存放位置
切换到 PaddleOCR 的运行环境中的 pdserving 目录
/home/xxx/PaddleOCR-release-2.3/deploy/pdserving
创建目录:inference
mkdir inference
模型存放位置
/home/xxx/PaddleOCR-release-2.3/deploy/pdserving/inference
模型下载链接
模型下载链接1:
GitHub - PaddlePaddle/PaddleOCR at release/2.3
模型下载链接2:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/doc/doc_en/models_list_en.md
OCR 文本检测模型
下载并解压
可以下载包,上传至目标位置,也可以wget。
我这里是wget,省去上传的步骤。
wget https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_infer.tar -O ch_PP-OCRv2_det_infer.tar && tar -xf ch_PP-OCRv2_det_infer.tar
转换模型
?
OCR 文本识别模型
下载并解压
可以下载包,上传至目标位置,也可以wget。
我这里是wget,省去上传的步骤。
wget https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_infer.tar -O ch_PP-OCRv2_rec_infer.tar && tar -xf ch_PP-OCRv2_rec_infer.tar
转换模型
?
异常处理
上面转换模型时,出现下面的异常
ImportError: dlopen: cannot load any more object with static TLS
问题点:~/workspace/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddle/fluid/core.py
dlopen: cannot load any more object with static TLS问题解决-CSDN博客
解决方案:升级glibc版本到2.23。
20240312 娟娟:因为glibc升级可能引起系统奔溃,所以下面流程不再处理,转 PaddleHub Serving 。