手把手0基础Centos下安装与部署paddleOcr 教程
2025.09.26 19:55浏览量:0简介:零基础CentOS用户必看:从环境配置到PaddleOCR部署的全流程指南,附详细代码示例与故障排查
手把手0基础Centos下安装与部署paddleOcr教程
一、环境准备:CentOS系统基础配置
1.1 系统版本选择与更新
CentOS 7/8均为稳定选择,推荐使用CentOS 7(x86_64)以兼容更多旧版依赖。执行以下命令更新系统:
sudo yum update -ysudo yum install -y epel-release # 启用EPEL仓库
1.2 依赖库安装
PaddleOCR依赖Python 3.7+、CUDA 10.1/11.2(GPU版)、cuDNN等组件。按以下步骤安装:
# 基础开发工具sudo yum groupinstall -y "Development Tools"sudo yum install -y wget curl git# Python 3.8安装(CentOS 7默认Python 2.7)sudo yum install -y centos-release-sclsudo yum install -y rh-python38scl enable rh-python38 bash # 临时启用Python 3.8# 永久生效(添加到~/.bashrc)echo "source /opt/rh/rh-python38/enable" >> ~/.bashrcsource ~/.bashrc
二、PaddlePaddle框架安装
2.1 CPU版本安装
python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
验证安装:
import paddlepaddle.utils.run_check() # 应输出"PaddlePaddle is installed successfully!"
2.2 GPU版本安装(可选)
- 确认NVIDIA驱动:
nvidia-smi # 查看GPU型号与驱动版本
- 安装CUDA 11.2:
wget https://developer.download.nvidia.com/compute/cuda/repos/centos7/x86_64/cuda-repo-centos7-11.2.2-1.x86_64.rpmsudo rpm -ivh cuda-repo-centos7-11.2.2-1.x86_64.rpmsudo yum clean allsudo yum install -y cuda-11-2
- 安装cuDNN 8.1:
从NVIDIA官网下载cuDNN的.rpm包,执行:sudo rpm -ivh cudnn-11.3-linux-x64-v8.2.1.32.rpm
- 安装GPU版PaddlePaddle:
python3 -m pip install paddlepaddle-gpu==2.4.0.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
三、PaddleOCR安装与配置
3.1 克隆仓库与安装依赖
git clone https://github.com/PaddlePaddle/PaddleOCR.gitcd PaddleOCRpython3 -m pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple
3.2 下载预训练模型
PaddleOCR提供中英文、多语言等模型,以中文OCR为例:
mkdir -p inference/ch_PP-OCRv4_detmkdir -p inference/ch_PP-OCRv4_recmkdir -p inference/ch_PP-OCRv4_cls# 下载检测模型wget https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_infer.tar --no-check-certificatetar -xf ch_PP-OCRv4_det_infer.tar -C inference/ch_PP-OCRv4_det# 下载识别模型(类似步骤下载rec和cls模型)
3.3 配置文件修改
编辑configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det.yml,修改模型路径:
Global:infer_img: ./doc/imgs/12.jpgdet_model_dir: ./inference/ch_PP-OCRv4_det/rec_model_dir: ./inference/ch_PP-OCRv4_rec/cls_model_dir: ./inference/ch_PP-OCRv4_cls/
四、运行与测试
4.1 单张图片预测
python3 tools/infer_ocr.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det.yml -o Global.infer_img=./doc/imgs/12.jpg
输出示例:
Detect Result: [[[67.0, 118.0], [347.0, 102.0], [352.0, 136.0], [72.0, 152.0]], ...]Recognize Result: {'text': '欢迎使用PaddleOCR', 'confidence': 0.99}
4.2 批量处理与可视化
使用tools/infer_rec.py进行批量识别,并通过tools/plot_result.py生成可视化结果:
python3 tools/infer_rec.py -c configs/rec/ch_PP-OCRv4/ch_PP-OCRv4_rec.yml -o Global.infer_img=./doc/imgs_words/python3 tools/plot_result.py --det_dir=./output/det/ --rec_dir=./output/rec/ --output_dir=./output/vis/
五、常见问题与解决方案
5.1 依赖冲突
现象:pip install时报版本冲突。
解决:使用虚拟环境隔离:
python3 -m venv paddle_envsource paddle_env/bin/activatepip install -r requirements.txt
5.2 GPU不可用
现象:paddle.is_compiled_with_cuda()返回False。
检查步骤:
- 确认
nvidia-smi正常显示GPU。 - 检查CUDA路径:
echo $LD_LIBRARY_PATH # 应包含/usr/local/cuda/lib64
- 重新安装GPU版PaddlePaddle。
5.3 模型下载失败
解决:使用国内镜像源或手动下载后放置到对应目录:
# 手动下载模型后mv ch_PP-OCRv4_det_infer/* ./inference/ch_PP-OCRv4_det/
六、性能优化建议
- 批量处理:修改
Global.batch_size参数(默认1,可调至4-8)。 - 模型量化:使用TensorRT加速:
python3 tools/export_model.py -c configs/rec/ch_PP-OCRv4/ch_PP-OCRv4_rec.yml -o Global.save_inference_dir=./inference_quant/
- 多线程处理:在
infer_ocr.py中设置num_workers=4。
七、扩展应用场景
- 服务化部署:使用FastAPI封装API:
```python
from fastapi import FastAPI
from paddleocr import PaddleOCR
app = FastAPI()
ocr = PaddleOCR(use_angle_cls=True, lang=”ch”)
@app.post(“/ocr”)
async def ocr_api(img_base64: str):
import base64
from io import BytesIO
from PIL import Image
img_data = base64.b64decode(img_base64)
img = Image.open(BytesIO(img_data))
result = ocr.ocr(img, cls=True)
return {“result”: result}
2. **定时任务**:结合`crontab`实现每日图片识别:```bash0 2 * * * /usr/bin/python3 /path/to/PaddleOCR/tools/batch_ocr.py >> /var/log/ocr.log 2>&1
通过以上步骤,即使是0基础的CentOS用户也能完成PaddleOCR的安装与部署。实际生产环境中,建议结合Docker容器化部署以提升环境一致性,并定期更新模型以获得更好的识别效果。

发表评论
登录后可评论,请前往 登录 或 注册