基于python313环境构建paddle-ocr镜像

拉取最新版的python313镜像

本文将介绍如何在 Docker 容器中部署 PaddleOCR 服务。首先,我们需要拉取 Python 3.13 的官方镜像作为基础环境。

bash 复制代码
docker pull python:3.13.14

说明:这里使用 Python 3.13.14 版本,确保与后续 PaddlePaddle 的兼容性。如果网络较慢,可以配置 Docker 镜像加速。

启动容器

拉取镜像后,启动一个支持 GPU 的容器,并将容器内的 8080 端口映射到宿主机的 9100 端口。

bash 复制代码
docker run -itd --name ceyyen-paddle --gpus all -p 9100:8080 python:3.13.14

参数解释

  • -itd:以交互式终端后台运行容器
  • --name ceyyen-paddle:为容器指定名称,便于后续管理
  • --gpus all:将宿主机的所有 GPU 设备挂载到容器中(需已安装 NVIDIA Container Toolkit)
  • -p 9100:8080:将宿主机的 9100 端口映射到容器的 8080 端口(PaddleOCR 服务将监听 8080)
  • python:3.13.14:使用的镜像标签

启动后,可以使用 docker ps 查看容器是否正常运行。

安装依赖

进入容器后,依次安装系统依赖、PaddleOCR、PaddlePaddle GPU 版本以及服务化插件。

bash 复制代码
# 首先安装glib库(OCR 依赖的图形库)
apt-get update && apt-get install -y \
    libgl1 \
    libglib2.0-0 \
    libsm6 \
    libxext6 \
    libxrender1 \
    && rm -rf /var/lib/apt/lists/*

# 安装paddlex(包含 PaddleOCR)
pip install --no-cache-dir paddleocr paddlex -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安装CUDA12.6 版本的PaddlePaddle(GPU 版本)
python3 -m pip install paddlepaddle-gpu==3.3.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/

# 安装 服务化插件
paddlex --install serving

# 启动服务
paddlex --serve --pipeline OCR --host 0.0.0.0 --port 8080 --device gpu:0

详细说明

  1. 系统依赖 :PaddleOCR 需要 OpenGL 等图形库来处理图像,因此先安装 libgl1 等包。
  2. PaddleOCR 安装 :使用清华镜像源加速下载,--no-cache-dir 避免占用额外磁盘空间。
  3. PaddlePaddle GPU 版本 :这里选择 CUDA 12.6 对应的 paddlepaddle-gpu==3.3.0,确保能够利用 GPU 加速。
  4. 服务化插件paddlex --install serving 会安装 PaddleServing 相关组件,将 OCR 模型转换为可部署的服务。
  5. 启动服务
    • --pipeline OCR:指定使用 OCR 流水线
    • --host 0.0.0.0:监听所有网络接口
    • --port 8080:服务端口(与前面映射的端口一致)
    • --device gpu:0:使用第一个 GPU 设备

验证服务 :启动后,可以在宿主机上使用 curl 测试服务是否正常:

bash 复制代码
curl -X POST http://localhost:9100/ocr/prediction -H "Content-Type: application/json" -d '{"images": ["base64_encoded_image"]}'

常见问题

  • 如果 GPU 无法识别,请检查宿主机 NVIDIA 驱动和 Docker 的 --gpus 支持。
  • 端口冲突时,可修改 -p 参数或容器内的 --port
  • 内存不足可能导致服务启动失败,可适当调整 Docker 容器的内存限制。
相关推荐
GoCodingInMyWay15 小时前
PaddleOCR 开始
pytorch·ai·ocr
Code_流苏1 天前
Pot:免费开源的跨平台划词翻译和 OCR 工具,选中文字就能翻译
开源·ocr·pot·自动翻译·翻译工具·划词翻译
Yao.Li2 天前
踩坑 5090 编译构建 Paddle 源码
人工智能·深度学习·飞桨·paddle
lupai2 天前
增值税发票 OCR 识别 API 新手接入指南
java·前端·ocr
AI人工智能+2 天前
通用表格识别:实现从非结构化图像到高保真数据的转换,提升业务流程自动化水平
深度学习·自然语言处理·ocr·表格识别
10mAh3 天前
【PaddleOCR】扫描版 PDF 无法复制、RAG 检索为空怎么解决?——OCR 解析与版面还原实战
前端·pdf·ocr
AI人工智能+3 天前
智能文档抽取系统通过“视觉感知+大模型认知“双引擎架构,实现非结构化文档的自动化处理
深度学习·计算机视觉·语言模型·自然语言处理·ocr·文档抽取
满怀冰雪4 天前
19-图像数据处理:PaddleVision Transform 实战
人工智能·深度学习·计算机视觉·paddle
满怀冰雪5 天前
20-卷积神经网络基础:用 Paddle 构建 CNN
人工智能·深度学习·cnn·paddle
zyplayer-doc7 天前
同一份制度别复制到多个知识库:用zyplayer-doc引用文档解决重复维护
javascript·人工智能·智能手机·开源·ocr