soarli

Linux安装PaddleOCR
3.16前言这是继上一次在我的台式机上部署PaddleOCR两个月之后的又一次实战。毕设上线在即,恰好得到一个月云...
扫描右侧二维码阅读全文
28
2022/03

Linux安装PaddleOCR

3.16前言

这是继上一次在我的台式机上部署PaddleOCR两个月之后的又一次实战。

毕设上线在即,恰好得到一个月云服务器使用权限。用来测试配置PaddleOCRWeb环境以便在正式环境部署(测试环境:Ubuntu 18.04)。

安装宝塔面板

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

image-20220316163300092

安装集成开发环境

image-20220316163425788

安装PaddlePaddle

python3 -m pip3 install paddlepaddle==2.2.2 -i https://mirror.baidu.com/pypi/simple

若出现下述报错,更新pip即可:

image-20220316154923538

# pip3执行
pip3 install --upgrade pip
# pip执行
pip install --upgrade pip
# 如果上面升级失败,可以试试
python -m pip install --upgrade --force pip

正常情况如下图所示:

image-20220316181520573

验证是否安装成功:

import paddle
paddle.utils.run_check()

出现下图界面则安装成功:

image-20220316181648760

创建OCR环境

# 创建目录
sudo mkdir /ocr
# 转移所有者
sudo chown -R ubuntu:ubuntu /ocr/

上传Clone下来的项目

WinSCP或宝塔把项目压缩包上传到服务器并解压:

ubuntu@VM-4-11-ubuntu:~$ cd /ocr
ubuntu@VM-4-11-ubuntu:/ocr$ ls
PaddleOCR-release-2.4.zip
ubuntu@VM-4-11-ubuntu:/ocr$ unzip PaddleOCR-release-2.4.zip
Archive:  PaddleOCR-release-2.4.zip
bca7070ae9a4064ea9cab8a213fcfee8c832ec6e
   creating: PaddleOCR-release-2.4/
  inflating: PaddleOCR-release-2.4/.clang_format.hook
   creating: PaddleOCR-release-2.4/.github/
   creating: PaddleOCR-release-2.4/.github/ISSUE_TEMPLATE/
  inflating: PaddleOCR-release-2.4/.github/ISSUE_TEMPLATE/custom.md
  inflating: PaddleOCR-release-2.4/.gitignore
  inflating: PaddleOCR-release-2.4/.pre-commit-config.yaml
  inflating: PaddleOCR-release-2.4/.style.yapf
  inflating: PaddleOCR-release-2.4/LICENSE
  inflating: PaddleOCR-release-2.4/MANIFEST.in
   creating: PaddleOCR-release-2.4/PPOCRLabel/
  inflating: PaddleOCR-release-2.4/PPOCRLabel/Makefile
  inflating: PaddleOCR-release-2.4/PPOCRLabel/PPOCRLabel.py
  inflating: PaddleOCR-release-2.4/PPOCRLabel/README.md
  inflating: PaddleOCR-release-2.4/PPOCRLabel/README_ch.md
 extracting: PaddleOCR-release-2.4/PPOCRLabel/__init__.py
  inflating: PaddleOCR-release-2.4/PPOCRLabel/combobox.py
  ...............

此时的目录结构:

image-20220316211445192

安装所需Python依赖

ubuntu@VM-4-11-ubuntu:/ocr$ cd PaddleOCR-release-2.4/
ubuntu@VM-4-11-ubuntu:/ocr/PaddleOCR-release-2.4$ pip3 install -r requirements.txt

遇到如下报错:

image-20220316212059933

更新pip并重新执行安装命令:

pip3 install --upgrade pip

image-20220316212309862

pip3 install -r requirements.txt

如果访问github受阻可以使用国内源:

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成:

image-20220316212431641

验证是否安装成功:

image-20220316213011592

此时若出现No module named paddle说明paddlepaddle没有装上,参考如下命令安装即可:

python3 -m pip install paddlepaddle-gpu==2.0.0 -i https://mirror.baidu.com/pypi/simple # gpu机器
python3 -m pip install paddlepaddle==2.0.0 -i https://mirror.baidu.com/pypi/simple # cpu机器
pip install "paddleocr>=2.0.1"

完成后再次验证即可。

部署推理模型

PaddleOCR解压后的目录下创建推理模型目录:

mkdir inference

将推理模型上传到该目录下并解压:

ubuntu@VM-4-11-ubuntu:/ocr/PaddleOCR-release-2.4/inference$ tar -xvf ch_PP-OCRv2_det_infer.tar
._ch_PP-OCRv2_det_infer
ch_PP-OCRv2_det_infer/
ch_PP-OCRv2_det_infer/inference.pdiparams.info
ch_PP-OCRv2_det_infer/inference.pdmodel
ch_PP-OCRv2_det_infer/inference.pdiparams
ubuntu@VM-4-11-ubuntu:/ocr/PaddleOCR-release-2.4/inference$ tar -xvf ch_PP-OCRv2_rec_infer.tar
._ch_PP-OCRv2_rec_infer
ch_PP-OCRv2_rec_infer/
ch_PP-OCRv2_rec_infer/inference.pdiparams.info
ch_PP-OCRv2_rec_infer/inference.pdmodel
ch_PP-OCRv2_rec_infer/inference.pdiparams
ubuntu@VM-4-11-ubuntu:/ocr/PaddleOCR-release-2.4/inference$ tar -xvf ch_ppocr_mobile_v2.0_cls_infer.tar
ch_ppocr_mobile_v2.0_cls_infer/
ch_ppocr_mobile_v2.0_cls_infer/inference.pdiparams
ch_ppocr_mobile_v2.0_cls_infer/inference.pdiparams.info
ch_ppocr_mobile_v2.0_cls_infer/inference.pdmodel

安装PaddleOCR

pip3 install "paddleocr>=2.0.1"

安装成功:

image-20220316215351017

测试运行

# 切到工作目录
cd /ocr/PaddleOCR-release-2.4
# 执行识别
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/"  --rec_model_dir="./inference/ch_PP-OCRv2_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=True --use_gpu=False

# 优化后以选择小模型为例
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/small/ch_PP-OCRv2_det_infer"  --rec_model_dir="./inference/small/ch_PP-OCRv2_rec_infer" --cls_model_dir="./inference/small/ch_ppocr_mobile_v2.0_cls_infer" --use_angle_cls=True --use_space_char=True --use_gpu=False

image-20220317002349100

项目部署记录(虚拟环境)

PaddleOCR项目根目录下的inference中上传bigsmall文件夹(本地测试好的预训练模型);

PaddleOCR项目根目录上传flaskOcrSmall.pyflaskOcrBig.py,静默运行:

nohup python3 flaskOcrSmall.py &

关闭后台进程:

ps -fe|grep python

找到对应进程并sudo kill即可:

image-20220328010034881

设置开机自启:

sudo vim /etc/rc.local

底部加上一句(注意此处不能添加nohup):

python3 /ocr/PaddleOCR-release-2.4/flaskOcrSmall.py &

重启系统看效果:

reboot

image-20220328012233510

搞定!

4.15凌晨更新

在使用git克隆或拉取代码时,使用sudo权限或root用户操作,不要修改Web目录权限为777或设置所有者为其他用户!

一来不安全,二来进行上传文件等操作时会因无权限遇到各种各样的报错!

参考资料:

https://blog.csdn.net/xiaojun1288/article/details/121357721

https://blog.csdn.net/cym_anhui/article/details/81286451

https://baijiahao.baidu.com/s?id=1650170269926650594

https://blog.csdn.net/GungnirsPledge/article/details/108566415

https://blog.csdn.net/jim_LoveQ/article/details/105825938

http://www.blogjava.net/fingki/archive/2009/08/11/290693.html

https://zhuanlan.zhihu.com/p/109939711

https://www.bt.cn/bbs/thread-17053-1-1.html

最后修改:2022 年 04 月 15 日 05 : 11 AM

发表评论