KubeEdge Sedna运行联合推理实例
date
Jun 10, 2024
slug
kubeedge-sedna-run-jointinference-service
status
Published
tags
流程记录
summary
利用KubeEdge Sedna运行联合推理实例。
type
Post
按照上篇文章已经部署好了KubeEdge、EdgeMesh和Sedna,接下来按照官方文档运行联合推理实例。
官方文档:https://sedna.readthedocs.io/en/latest/examples/joint_inference/helmet_detection_inference/README.html#
其实只要之前的EdgeMesh正确部署,这个实例只要按照文档不会出问题。
准备数据和模型
- 下载小模型到边端
- 下载大模型到云端
- 准备镜像
小模型推理worker:
kubeedge/sedna-example-joint-inference-helmet-detection-little:v0.3.0
大模型推理worker:kubeedge/sedna-example-joint-inference-helmet-detection-big:v0.3.0
如果很慢的话,我的做法是在构建镜像的文件中(
joint-inference-helmet-detection-big.Dockerfile
和joint-inference-helmet-detection-little.Dockerfile
)加入添加apt和pip镜像源。
创建联合推理服务
(kubectl的操作全是在云端进行)
- 为云端创建大模型资源对象
- 为边缘端创建小模型资源对象
在边端创建文件夹,生成的推理图片结果都生成在文件夹中:
在云端定义环境变量CLOUD_NODE和EDGE_NODE
在云端创造联合推理服务,我把其中的镜像替换成国内镜像了,以下是文件内容:
边缘端模拟视频流进行推理
- 1.安装开源视频流服务器 EasyDarwin。
- 2.启动 EasyDarwin 服务器。
- 3.下载视频。
- 4.向推理服务可连接的网址(如
rtsp://localhost/video
)推送视频流。 (EasyDarwin-linux-8.1.0-1901141151.tar.gz在文档上给的地址应该是找不到了,但是我在一个网站上找到并且下载下来了)
正常运行的话,pod都是
running
状态,而且可以在 JointInferenceService 配置中定义的输出路径(如 /joint_inference/output
)中查看推理结果。