目录

介绍

为Kubernetes修改容器

安装Kubernetes

在Kubernetes上运行容器

下一步


在这里,我们给出了需要使用Kubernetes在真实生产环境中扩展和部署我们的AI解决方案时的实际案例,并展示了如何在本地Kubernetes计算机中运行容器化API。

下载 net.zip - 80.9 MB

介绍

人脸识别是人工智能(AI)的一个领域,现代深度学习(DL)方法在过去十年中取得了巨大成功。最好的人脸识别系统可以以与人类相同的精度识别图像和视频中的人物,甚至更好。

我们关于这个主题的系列文章分为两个部分:

  • 人脸检测,客户端应用程序检测图像或视频源中的人脸,对齐检测到的人脸图片,并将它们提交给服务器。
  • 人脸识别(这部分),服务器端应用程序进行人脸识别。

我们假设您熟悉 DNN、Python、Keras和TensorFlow。

在之前的一篇文章中,我们学习了如何在Docker容器中运行人脸识别服务器。容器化允许我们在预定义的环境中开发和测试应用程序,然后轻松部署软件。在本文中,我们将在本地Kubernetes集群中运行我们的人脸识别Web服务器。

Kubernetes是一组服务,旨在管理编排的Docker容器集群。Kubernetes简化了软件部署、网络路由和服务器负载平衡。这是您在生产环境中部署面部识别系统时想要使用的,您需要扩展面部识别服务器以服务于许多客户端应用程序(运行面部检测的边缘设备)。

为Kubernetes修改容器

为了在Kubernetes上运行我们的AI人脸识别容器,我们需要稍微修改它。当容器启动时,它必须运行我们创建的服务器端Python应用程序。让我们使用Dockerfile创建一个新的Docker镜像。Dockerfile是一组用于从现有镜像创建镜像的指令。在我们的例子中,文件只包含四行:

FROM sergeylgladkiy/fr:v1RUN rm /home/pi_fr/rec/*EXPOSE 50CMD ["python", "/home/pi_fr/pi_fr_facenet.run_align_dock_flask.lnx.py", "0.0.0.0", "50"]
  • 第 1 行:指定基本图像。
  • 第 2 行:清理/home/pi_fr/rec/目录。
  • 第 3 行:使容器使用端口50。
  • 第 4 行:使用指定的参数运行Python应用程序。

现在我们可以通过命令行构建一个新的镜像。将创建好的Dockerfile放到终端当前目录下,执行如下命令:

docker build -t "frrun:v1" .

这将创建以标签v1命名的frrun镜像。在容器启动时,执行Python代码,人脸识别Web服务器准备接收人脸图像。

安装Kubernetes

下一步是安装Kubernetes。转到Docker Desktop中的Settings/Kubernetes选项卡并选中Enable Kubernetes复选框。

因为我们要运行一个Web应用程序,所以我们必须为Kubernetes创建一个服务和一个部署。我们可以将这两个放在一个YAML文件中:

apiVersion: v1
kind: Service
metadata:name: face-rec-service
spec:selector:app: face-recports:- protocol: "TCP"port: 5050targetPort: 50type: LoadBalancer---
apiVersion: apps/v1
kind: Deployment
metadata:name: face-rec
spec:selector:matchLabels:app: face-recreplicas: 2template:metadata:labels:app: face-recspec:containers:- name: face-recimage: frrun:v1imagePullPolicy: Neverports:- containerPort: 50

YAML文件描述了具有适当端口的负载平衡face-rec-service服务以及基于frrun:v1镜像运行两个容器副本的face-rec部署。

在Kubernetes上运行容器

现在我们可以使用以下命令在Kubernetes上运行我们的系统:

kubectl apply -f C:\PI_FR\fr_deploy.yaml

发出命令后,查看容器/应用程序选项卡。您将看到运行Kubernetes pod。

让我们测试我们的负载平衡服务如何工作和管理部署的人脸识别Web应用程序。我们将在两台PC上运行客户端应用程序。每个客户端应用程序将检测视频文件中的人脸并将人脸图像发送到相同的IP地址。我们可以在为两个容器提供的日志中看到识别结果。该过程完成后,我们可以为容器运行终端并分析结果。以下是两个容器的结果图像列表。

结果显示负载均衡器如何将请求几乎均匀地分布在两个Pod中:第一个容器接收并处理了252张人脸图像,而第二个容器接收并处理了223张。您可以看到使用Kubernetes管理我们的服务器并将系统扩展到任意数量的客户端应用程序。

下一步

在接下来的文章中,我们将讨论从头开始开发一个面部识别系统的某些方面。

https://www.codeproject.com/Articles/5305706/Running-Face-Recognition-on-Kubernetes

(九)在Kubernetes上运行人脸识别相关推荐

  1. 树莓派实验室python人脸识别_在树莓派上实现人脸识别

    原标题:在树莓派上实现人脸识别 本文为 AI 研习社编译的技术博客,原标题 Facial Recognition & Identification On Raspberry Pi,作者为 Ad ...

  2. [KubeCon+CloudNativeCon China 2018] 在Kubernetes上运行区块链服务(BaaS)

    笔者注:本文是在2018年11月15日由Linux基金会CNCF主办的KubeCon & CloudNativeCon China 2018大会的"Running Blockchai ...

  3. 在Kubernetes上运行SAP UI5应用(下): 一个例子体会Kubernetes内容器的高可用性和弹性伸缩...

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇文章 在Kubernetes上运行SAP UI5应用(上),我介绍了如何在Docker里运行一个简单的SAP UI5应用 ...

  4. 在阿里云Kubernetes上运行SpringCloud示例PiggyMetrics

    阿里云Kubernetes服务运行SpringCloud osswangxining大侠在 阿里云Kubernetes SpringCloud 实践进行时 系列文章中系统地介绍了如何在阿里云Kuber ...

  5. 如何在Kubernetes上运行Apache Flink

    本文最初发布于Zalando网站Technology Blog板块,经原作者授权由InfoQ中文站翻译并分享 最近,我在用Apache Flink构建小型的流处理应用.在Zalando,我们默认使用K ...

  6. 在Kubernetes上运行SAP UI5应用(下): 一个例子体会Kubernetes内容器的高可用性和弹性伸缩

    上一篇文章 在Kubernetes上运行SAP UI5应用(上),我介绍了如何在Docker里运行一个简单的SAP UI5应用,并且已经成功地将一个包含了这个UI5应用的docker镜像上传到Dock ...

  7. 在Kubernetes上运行区块链服务(BaaS)

    本文是在2018年11月15日由Linux基金会CNCF主办的KubeCon & CloudNativeCon China 2018大会的"Running Blockchain as ...

  8. 如何在Kubernetes上运行PostgreSQL

    通过在Kubernetes上运行PostgreSQL数据库,您可以创建统一管理的云原生生产部署,并可以灵活地部署满足您特定需求的个性化数据库即服务. 使用运算符可以让您向Kubernetes提供其他上 ...

  9. 扔垃圾前得先“刷脸”?北京这个小区垃圾分类真的用上了“人脸识别”!

    来源:人工智能那些事(ID:rgznnds) 近日,在北京西城区德胜街道新风街1号院,垃圾分类竟然用上了"人脸识别"!居民扔垃圾前得先"刷脸",系统识别后自动打 ...

最新文章

  1. 演练-基于lamp安装wordpress--含安装包
  2. sudo详细介绍...
  3. 论文学习12-Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data(CRF
  4. python数据可视化编程实战 第2版 github_Python数据可视化编程实战(三):在Mac OS X上安装matplotlib...
  5. 单独使用ckfinder选择图片
  6. 【Java web】Servlet面试题
  7. 炒股50问——走向职业操盘的简单问答!
  8. Java高阶知识体系总结(一)
  9. 荣耀安装google谷歌服务框架_荣耀20怎么下载安装谷歌服务框架,GMS框架安装教程...
  10. 基于FPGA的ov5640摄像头简易图像采集装置详解
  11. Xenu Link Sleuth
  12. hdu 5325 Crazy Bobo (树形dp)
  13. quasi-Newton method 拟牛顿法
  14. 京东有鸿蒙系统app,刘强东力挺华为鸿蒙,安卓版京东与鸿蒙版京东,差距不是一点点...
  15. 介绍了用Meta标签代码让360双核浏览器默认极速模式(google)打开网站不是兼容模式
  16. 面试问题记录 三 (JavaWeb、JavaEE)
  17. 有关lua,luci的介绍
  18. 卸载 HI 英文输入法( InputHelp )
  19. Flash 与 VC 通讯
  20. 说说 Redis pipeline

热门文章

  1. node path html模块,深入理解node.js之path模块
  2. 2021甘肃平凉高考成绩查询,甘肃省教育考试院:2021年甘肃高考查分入口、查分系统...
  3. python单片机编程软件下载_Python开发例程大全
  4. 查看usb控制器固件日期_三星发布两款USB Type-C电源控制器芯片 支持100W的充电功率...
  5. html数字自动滚动代码怎么写,你可能需要这样的大屏数字滚动效果
  6. oracle gg 有两个字段没同步到,GG配置Oracle同步到SQLServer
  7. 好东西!适合电商促销C4D场景模型海报素材!
  8. UI设计中的弹窗设计素材,技巧快get起来
  9. 初学者UI设计临摹素材模板,请先搞清楚这4个分类!
  10. UI基本设计素材模板|完整的线框图