3.16前言
这是继上一次在我的台式机上部署PaddleOCR两个月之后的又一次实战。
毕设上线在即,恰好得到一个月云服务器使用权限。用来测试配置PaddleOCR
及Web
环境以便在正式环境部署(测试环境:Ubuntu 18.04
)。
安装宝塔面板
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
安装集成开发环境
安装PaddlePaddle
python3 -m pip3 install paddlepaddle==2.2.2 -i https://mirror.baidu.com/pypi/simple
若出现下述报错,更新pip即可:
# pip3执行 |
---|
pip3 install --upgrade pip |
# pip执行 |
pip install --upgrade pip |
# 如果上面升级失败,可以试试 |
python -m pip install --upgrade --force pip |
正常情况如下图所示:
验证是否安装成功:
import paddle
paddle.utils.run_check()
出现下图界面则安装成功:
创建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
...............
此时的目录结构:
安装所需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
遇到如下报错:
更新pip
并重新执行安装命令:
pip3 install --upgrade pip
pip3 install -r requirements.txt
如果访问github
受阻可以使用国内源:
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成:
验证是否安装成功:
此时若出现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"
安装成功:
测试运行
# 切到工作目录
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
项目部署记录(虚拟环境)
在PaddleOCR
项目根目录下的inference
中上传big
和small
文件夹(本地测试好的预训练模型);
在PaddleOCR
项目根目录上传flaskOcrSmall.py
和flaskOcrBig.py
,静默运行:
nohup python3 flaskOcrSmall.py &
关闭后台进程:
ps -fe|grep python
找到对应进程并sudo kill
即可:
设置开机自启:
sudo vim /etc/rc.local
底部加上一句(注意此处不能添加nohup
):
python3 /ocr/PaddleOCR-release-2.4/flaskOcrSmall.py &
重启系统看效果:
reboot
搞定!
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
版权属于:soarli
本文链接:https://blog.soarli.top/archives/646.html
转载时须注明出处及本声明。