paddlex3.0.1-ocr服务化安装部署(docker)

安装

参考官方文档来获取PaddleX镜像:基于Docker获取PaddleX

根据官方文档拉取相应版本的镜像:cpu和gpu版本。

当您使用官方 Docker 镜像安装时,其中已经内置了 PaddlePaddle、PaddleX(包括wheel包和所有插件),并配置好了相应的CUDA环境,您获取 Docker 镜像并启动容器即可开始使用。
请注意,PaddleX 官方 Docker 镜像与飞桨框架官方 Docker 镜像不同,后者并没有预装 PaddleX。

拉取CPU版本镜像

shell 复制代码
# 拉取cpu版本:PaddleX 官方 Docker 镜像预置了基础功能所需的全部依赖
docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.1-paddlepaddle3.0.0-cpu

构建所需依赖镜像【OCR】

参考官方文档,选择性安装自己需要的依赖即可。

PaddleX 官方 Docker 镜像预置了基础功能所需的全部依赖;使用上文介绍的 pip install "...[base]" 的安装方式也将安装基础功能需要的所有依赖。如果您只专注于 PaddleX 的某一项功能,且希望保持安装的依赖的体积尽可能小,可以通过指定"依赖组"的方式,选择性地安装依赖:

shell 复制代码
# 以仅安装 OCR 类基础功能为例
# 安装预编译的 wheel 包
pip install "paddlex[ocr]"
# 从源码安装
pip install -e ".[ocr]"
# 也可以同时指定多个依赖组
pip install -e ".[ocr,cv]"

方式一:编写DockerFile文件并使用docker build构建镜像

  • 编写Dockerfile文件
Dockerfile 复制代码
FROM ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.1-paddlepaddle3.0.0-cpu
# 安装serving
RUN paddlex --install serving
# 选择性地安装依赖,安装自己需要的即可
RUN pip install "paddlex[ocr]"
# 端口暴露
EXPOSE 8869

# 通过磁盘映射相关模型文件,改为在启动镜像时指定需要启动的服务。
# CMD ["/bin/bash","-c","paddlex --serve --pipeline OCR"]
  • 构建镜像
shell 复制代码
docker buildx build --load -t paddlex-ocr-cpu:3.0.1 .

方式二:直接运行容器并进入容器安装相关依赖后使用docker commit保存为新镜像

shell 复制代码
# 使用 PaddleX 官方 Docker 镜像,创建一个名为 paddlex 的容器,并将当前工作目录映射到容器内的 /paddle 目录
docker run --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.1.2-paddlepaddle3.0.0-cpu /bin/bash

# 安装服务化
paddlex --install serving

# 安装所需依赖
pip install "paddlex[ocr]"

# 退出容器保存正在运行的容器为新的镜像
docker commit paddlex paddlex-ocr-cpu:3.0.1

编写docker-compose文件

我个人不喜欢写docker run一长串命令,喜欢搞个docker-compose文件来跑服务。

看个人喜好选择。

yaml 复制代码
version: '3.7'
services:
  paddlex-ocr:
    image: paddlex-ocr-cpu:3.0.1
    container_name: paddlex-ocr 
    ports:
      - "8869:8869"
    shm_size: 8g
    restart: unless-stopped
    # 指定需要启动的服务OCR ,端口自己定义就行,默认是8869
    command: paddlex --serve --pipeline OCR --port 8869

然后就可以 运行容器调用服务啦~~~

shell 复制代码
docker-compose up -d
相关推荐
ifanatic6 小时前
[每周一更]-(第159期):Go 工程师视角:容器化技术(Docker/Kubernetes)与CI/CD流程的应用场景
docker·golang·kubernetes
感哥8 小时前
Docker镜像
docker
Dontla8 小时前
Dockerfile解析器指令(Parser Directive)指定语法版本,如:# syntax=docker/dockerfile:1
java·docker·eureka
楠神说软件测试10 小时前
Docker命令(全)
docker
LuiChun10 小时前
docker desktop更新到【4.45.0 】后,旧容器镜像都丢失了
docker·容器·dubbo
子兮曰10 小时前
🔥C盘告急!WSL磁盘暴增?三招秒清20GB+空间
前端·windows·docker
ZLRRLZ10 小时前
【Docker】Docker安装
运维·docker·容器
Dxy123931021612 小时前
Docker常用命令详解
docker·容器·eureka
清寒敲代码12 小时前
k8s核心技术-Helm
运维·容器·kubernetes