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

news2024/12/23 0:46:32

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

  • 项目介绍
  • 需要重点关注的几个文件
      • 构建cpu版本的docker
      • 构建gpu版本的docker(cuda11.2+cudnn8)

阅读提示:
(1)Paddle的Serving项目中,在tools文件下,已提供了丰富的Dockerfile,可供参考,有点让人眼花缭乱。
(2)需要熟悉serving部署,port通过内部的config.yml来指定,此处Dockerfile内可不指定port。
(3)本文只介绍4个重要的文件,操作细节懂的都懂,不再赘述。

项目介绍

本项目采用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"]
  • requirements.txt文件
paddlepaddle==2.2.2
paddle-serving-client==0.9.0
paddle-serving-app==0.9.0
paddle-serving-server==0.9.0

构建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"]
  • requirements-gpu.txt文件
paddle-serving-client==0.9.0
paddle-serving-app==0.9.0
paddle-serving-server-gpu==0.9.0.post112

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/989936.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV 06(图像的基本变换)

一、图像的基本变换 1.1 图像的放大与缩小 - resize(src, dsize, dst, fx, fy, interpolation) - src: 要缩放的图片 - dsize: 缩放之后的图片大小, 元组和列表表示均可. - dst: 可选参数, 缩放之后的输出图片 - fx, fy: x轴和y轴的缩放比, 即宽度和高度的缩放比. - …

【React学习】React高级特性

1. 函数式组件和类组件区别 函数式组件 函数式组件是一种简单的组件定义方式,它是一个以JavaScript函数为基础的组件。 可以把函数式组件理解为纯函数,它的输入为props,输出为JSX。函数式组件没有状态,也没有生命周期。 functio…

java特殊文件 属性文件properties和XML文件

属性文件properties 后缀为.properties的文件,称之为属性文件,它可以很方便的存储一些类似于键值对的数据。经常当做软件的配置文件使用。 首先我们要掌握属性文件的格式: 1.属性文件后缀以.properties结尾 2.属性文件里面的每一行都是一个…

Python Opencv实践 - Shi-Tomasi角点检测

参考资料:Harris和Shi-tomasi角点检测笔记(详细推导)_harris焦点检测_亦枫Leonlew的博客-CSDN博客 cv.goodFeaturesToTrack:Shi-Tomasi角点检测-OpenCV-python_独憩的博客-CSDN博客 import cv2 as cv import numpy as np import …

精准定位,智慧港口:北斗技术在港口车辆智能监管中的应用

随着全球经济一体化的加速推进,港口作为全球物流网络中的关键节点、对外贸易货物的集散中心以及国际物流供应链的重要组成部分,其在区域经济发展中的作用变得越来越重要。然而,随着港口向大型化、专业化方向的发展,现有的基础设施…

基于Java+SpringBoot+UniApp的微信小程序朋友圈

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着社交媒体的兴起和…

在UE4虚幻引擎中加入导航网格体边界体积后丧尸不能移动和发现玩家

UE4系列文章目录 文章目录 UE4系列文章目录前言一、用到的知识点二、问题原因 前言 最近使用ue4做第一人称视角射击游戏发现问题,加入导航网格体边界体积后丧尸不能移动和发现玩家。下图是出现的问题图片 一、用到的知识点 1.行为树:控制并显示AI的决…

【后端面经-数据库】Redis数据结构和底层数据类型

【后端面经-数据库】Redis数据结构和底层数据类型 1. Redis数据类型1.1 基本数据类型1. string2. hash3. list4. set5. sortset/Zset 1.2 特殊数据类型1. bitmap2. hyperloglog3. GEO4. stream 2. Redis底层数据类型2.1 简介2.2 动态字符串SDS2.3 快表QuickList2.4 字典Dict2.5…

论文解读 | 基于中心的三维对象检测与跟踪

原创 | 文 BFT机器人 CenterPoint与传统基于框的3D物体检测器和跟踪器不同之处在于,它将3D物体表示、检测和跟踪为点,而不是使用边界框。这种方法具有几个优点,包括减少物体检测器的搜索空间,简化下游任务(如跟踪&…

一键去除文件名中的空格,轻松解决文件命名烦恼!

你是否曾经为文件名中的空格而烦恼?这些空格可能会在传输、存储和搜索文件时带来各种问题。为了解决这个问题,本文将向你介绍几种实用的方法,让你轻松去除文件名中的空格,让文件命名变得更加简单! 首先,我…

MAC终端美化

先看看效果: 1.安装on-my-zsh 打开终端,输出: sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"安装过程中如果出现了链接超时的错误,不要慌,就再来一次&#x…

牛客网——BM62 斐波那契数列

class Solution { public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param n int整型 * return int整型*/int Fibonacci(int n) {// write code hereif(n0) //考虑第0项return 0;else if(n1||n2)return 1;else…

人大加拿大女王大学金融硕士项目——自律是实现目标和成功的桥梁

低级的欲望通过放纵就能得到,高级的欲望通过自律才能得到。在这个快速发展的时代,只有保持自律,不断的充实自己,提升自己,才不会被社会所淘汰。中国人民大学与加拿大女王大学金融硕士项目,汇集了金融业的精…

EPICS asyn诊断帮助

iocsh命令 asynReport(level,portName) asynInterposeFlushConfig(portName,addr,timeout) asynInterposeEosConfig(portName,addr,processIn,processOut) asynSetTraceMask(portName,addr,mask) asynSetTraceIOMask(portName,addr,mask) asynSetTraceInfoMask(portName,addr…

Greenplum执行SQL卡住的问题

问题 今天社区群里面一位同学反映他的SQL语句执行会hang住,执行截图如下。 分析 根据提示信息,判断可能是网络有问题,或者是跟GP使用UDP包有关系。 此同学找了网络检查的人确定网络没有问题,于是猜测跟UDP包有关。 参考文章ht…

合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)

窗口 (Window) 分 享导出pdf 示例代码 win lvgl.win_create(lvgl.scr_act(), nil) lvgl.win_set_title(win, "Window title") -- close_btn lvgl.win_add_btn_right(win, "\xef\x80\x8d") -- --lvgl.obj_set_event_cb(cl…

企业架构LNMP学习笔记23

1、隐藏版本号: Nginx对外提供服务,为了避免被针对某个版本的漏洞进行攻击。经常做法是隐藏掉软件的版本信息,提供一定的安全性。 server_tokens off; https和CA: 1)基于SSL CA证书的公私钥的安全性。 CA是需要生成…

pip安装skimage的方法

在安装skimage时,可能会报错误: 可以尝试:pip install scikit-image进行安装,使用时只需要:import skimage

Multisim14.0仿真(十)同相放大器

一、仿真原理图: 二、仿真效果图:

5.xaml RadioButton按钮

1.运行图 2.运行源码 a.Xaml源码 <Grid Name="Grid1"><!--GroupName="role" 设置组名,同一组名,他们是互斥--><RadioButton Content="管理员" GroupName