logo

手把手0基础Centos下安装与部署paddleOcr教程

作者:十万个为什么2025.09.19 14:16浏览量:0

简介:本文为0基础开发者提供CentOS系统下PaddleOCR的完整安装部署指南,涵盖环境准备、依赖安装、源码编译、模型下载及API调用全流程,附详细错误排查方案。

引言

PaddleOCR作为一款开源的OCR工具库,凭借其高精度、多语言支持和易用性,在工业界和学术界得到了广泛应用。对于0基础的开发者而言,在CentOS系统下完成PaddleOCR的安装与部署可能会遇到诸多挑战。本文将详细介绍如何在CentOS环境下,从零开始安装并部署PaddleOCR,帮助读者快速上手。

环境准备

系统要求

CentOS 7或更高版本是推荐的操作系统。确保系统已更新至最新版本,以避免兼容性问题。可以通过以下命令更新系统:

  1. sudo yum update -y

安装必要软件

安装Git

Git是获取PaddleOCR源码的必要工具。使用以下命令安装:

  1. sudo yum install git -y

安装Python及pip

PaddleOCR需要Python 3.6或更高版本。CentOS默认可能未安装Python 3,需手动安装:

  1. # 安装EPEL仓库(如果尚未安装)
  2. sudo yum install epel-release -y
  3. # 安装Python 3
  4. sudo yum install python3 -y
  5. # 验证Python版本
  6. python3 --version
  7. # 安装pip
  8. sudo yum install python3-pip -y

安装CMake

PaddleOCR的编译过程需要CMake。通过以下命令安装:

  1. sudo yum install cmake -y

安装PaddlePaddle

PaddleOCR依赖于PaddlePaddle深度学习框架。根据硬件配置选择合适的安装方式:

CPU版本安装

若服务器无GPU,安装CPU版本的PaddlePaddle:

  1. python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

GPU版本安装(可选)

如有NVIDIA GPU,且已安装CUDA和cuDNN,可安装GPU版本以获得更好性能:

  1. # 根据CUDA版本选择命令,以下为示例(CUDA 10.1)
  2. python3 -m pip install paddlepaddle-gpu==2.0.0.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

验证安装:

  1. import paddle
  2. paddle.utils.run_check()

安装PaddleOCR

获取源码

使用Git克隆PaddleOCR仓库:

  1. git clone https://github.com/PaddlePaddle/PaddleOCR.git
  2. cd PaddleOCR

安装依赖

进入项目目录后,安装所需Python依赖:

  1. pip3 install -r requirements.txt

部署PaddleOCR

下载预训练模型

PaddleOCR提供了多种预训练模型,可根据需求下载:

  1. # 进入模型下载目录
  2. cd PaddleOCR/ppocr/utils/
  3. # 下载中文OCR模型(示例)
  4. wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar
  5. wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar
  6. wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar
  7. # 解压模型
  8. tar xf ch_ppocr_mobile_v2.0_det_infer.tar
  9. tar xf ch_ppocr_mobile_v2.0_cls_infer.tar
  10. tar xf ch_ppocr_mobile_v2.0_rec_infer.tar

配置模型路径

修改PaddleOCR/ppocr/utils/ppocr_keys_v1.txt(如有)和推理配置文件,指向正确的模型路径。通常无需修改,默认路径已设置。

运行推理

命令行推理

使用以下命令进行图片OCR识别:

  1. python3 tools/infer_rec.py -c configs/rec/rec_chinese_lite_train_v2.0.yml -o Global.pretrained_model=./output/rec_chinese_lite_v2.0/best_accuracy Global.infer_img=doc/imgs_words/ch/word_1.jpg

或使用完整流程(检测+方向分类+识别):

  1. python3 tools/infer_det.py -c configs/det/det_mv3_db.yml -o Global.pretrained_model=./output/det_db/best_accuracy Global.infer_img=doc/imgs/11.jpg
  2. python3 tools/infer_cls.py -c configs/cls/cls_mv3.yml -o Global.pretrained_model=./output/cls/best_accuracy Global.infer_img=doc/imgs/11.jpg
  3. python3 tools/infer_rec.py -c configs/rec/rec_chinese_lite_train_v2.0.yml -o Global.pretrained_model=./output/rec_chinese_lite_v2.0/best_accuracy Global.infer_img=doc/imgs/11.jpg

使用Python API

更灵活的方式是使用Python API:

  1. from paddleocr import PaddleOCR
  2. # 初始化OCR,指定模型路径(可选)
  3. ocr = PaddleOCR(det_model_dir='./ch_ppocr_mobile_v2.0_det_infer',
  4. cls_model_dir='./ch_ppocr_mobile_v2.0_cls_infer',
  5. rec_model_dir='./ch_ppocr_mobile_v2.0_rec_infer',
  6. use_angle_cls=True, lang='ch')
  7. # 图片路径
  8. img_path = './doc/imgs/11.jpg'
  9. # 执行OCR
  10. result = ocr.ocr(img_path, cls=True)
  11. # 打印结果
  12. for line in result:
  13. print(line)

常见问题解决

依赖冲突

若遇到依赖冲突,尝试创建虚拟环境:

  1. python3 -m venv paddle_env
  2. source paddle_env/bin/activate
  3. pip install -r requirements.txt

模型下载慢

使用国内镜像源加速下载,或手动下载后上传至服务器。

CUDA版本不匹配

确保安装的PaddlePaddle-GPU版本与CUDA版本对应,参考官方文档选择正确版本。

性能优化建议

  1. 使用GPU:如有GPU,务必安装GPU版本的PaddlePaddle,性能提升显著。
  2. 模型选择:根据需求选择合适的模型(如移动端轻量级模型或服务器端高精度模型)。
  3. 批量处理:对多张图片进行批量处理,减少IO开销。
  4. 多线程:利用Python的多线程或多进程加速推理。

总结

通过本文的指导,0基础的开发者也能在CentOS系统下成功安装并部署PaddleOCR。从环境准备、依赖安装到模型下载与推理,每一步都提供了详细的命令和说明。遇到问题时,可参考常见问题解决部分,或查阅PaddleOCR的官方文档和社区论坛。希望本文能为读者的OCR项目开发提供有力支持。

相关文章推荐

发表评论