• 快速构建基于Paddle Serving部署的Paddle Detection目标检测Docker镜像



    阅读提示:
    (1)Paddle的Serving项目中,在tools文件下,已提供了丰富的Dockerfile,可供参考,有点让人眼花缭乱。
    (2)需要熟悉serving部署,port通过内部的config.yml来指定,此处Dockerfile内可不指定port。
    (3)本文只介绍4个重要的文件,操作细节懂的都懂,不再赘述。
    (4)请按照文中指定的版本配置库,否则将报版本不匹配的bug,没必要把时间耗费在调bug上。

    项目介绍

    本项目采用Paddle Detection框架开发目标检测服务,采用Paddle Serving提供Web服务,采用Docker方式打包服务,方便部署。
    本项目目录如下:
    Alt

    需要重点关注的几个文件

    构建cpu版本的docker

    指令:docker build -t aep-aiplus-ppyoloe-multiclass:cpu-1.0.0 -f ./Dockerfile-cpu .

    • Dockerfile-cpu文件
    FROM python:3.8.16
    COPY . /aep-aiplus-ppyoloe-multiclass
    WORKDIR /aep-aiplus-ppyoloe-multiclass
    RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \
        && sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \
        && apt-get clean \
        && apt update \
        && apt-get install -y libgl1-mesa-dev \
        && pip config set global.index-url https://mirror.baidu.com/pypi/simple \
        && pip install --upgrade setuptools \
        && pip install --upgrade pip \
        && pip install -r requirements.txt
    CMD ["python", "web_service.py"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • requirements.txt文件
    paddlepaddle==2.2.2
    paddle-serving-client==0.9.0
    paddle-serving-app==0.9.0
    paddle-serving-server==0.9.0
    
    • 1
    • 2
    • 3
    • 4

    构建gpu版本的docker(cuda11.2+cudnn8)

    指令:docker build -t aep-aiplus-ppyoloe-multiclass:cu1102-1.0.0 -f ./Dockerfile-cuda1102-cudnn8 .

    • Dockerfile-cuda1102-cudnn8文件
    FROM registry.baidubce.com/paddlepaddle/paddle:2.2.2-gpu-cuda11.2-cudnn8
    COPY . /aep-aiplus-ppyoloe-multiclass
    WORKDIR /aep-aiplus-ppyoloe-multiclass
    RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
    RUN sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
    RUN apt-get clean
    RUN rm /etc/apt/sources.list.d/cuda.list
    RUN rm /etc/apt/sources.list.d/nvidia-ml.list
    RUN apt update
    RUN apt-get install -y libgl1-mesa-dev
    RUN pip3 config set global.index-url https://mirror.baidu.com/pypi/simple
    RUN pip3 install --upgrade pip
    RUN pip3 install -r requirements-gpu.txt
    CMD ["python", "web_service.py"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • requirements-gpu.txt文件
    paddle-serving-client==0.9.0
    paddle-serving-app==0.9.0
    paddle-serving-server-gpu==0.9.0.post112
    
    • 1
    • 2
    • 3
  • 相关阅读:
    YOLOv8改进实战 | 更换主干网络Backbone之轻量化模型Efficientvit
    18.2 使用NPCAP库抓取数据包
    HTML二识
    定制化、高可用前台样式处理方案——tailwindcss
    手把手教会:XML建模
    在TypeScript项目中搭配Axios封装后端接口调用
    Java I/O(4):AIO和NIO中的Selector
    K8S:二进制部署K8S(两台master+负载均衡nginx+keepalived)
    uart驱动框架及编程方法
    java毕业设计电商项目mybatis+源码+调试部署+系统+数据库+lw
  • 原文地址:https://blog.csdn.net/qq_23149979/article/details/132761240