kubernetes - 从 Kubeflow 管道提供自定义模型
问题描述
我有一个训练自定义(即不基于 sklearn / tensorflow 等类)ml 模型的 kubeflow 管道。现在我想在管道末端添加服务。即我想在我的 Kubernetes 集群中有一个服务,它使用模型来回答预测请求,并且在每次管道运行后应该使用新模型更新该服务。
据我所知,为自定义模型提供服务,我应该:
将我的模型包装到 kfserving.KFModel 类中
使用 1) 运行的包装器创建 docker 映像
使用来自 2) 的图像创建 InferenceService 端点
在 Kubeflow 组件中是否有任何与云无关的方法来执行此操作?(所以基本上组件必须能够构建 docker 镜像)
有没有更好的方法来实现我的目的?
也许我应该将步骤 1-3 移到管道组件之外,只创建一个组件来触发 1-3 的外部执行。这可以做到吗?
解决方案
我不能特别谈论 Kubeflow,但是https://buildpacks.io/提供了一种通用的方法来构建满足某些输入标准的容器(例如,“是一个带有 amain
和 a的 python 程序requirements.txt
”)。也可以(但更复杂)创建一个新的 buildpack(例如,采用“实现kfserving.KFModel
和包装 main 的 python 代码以及围绕它需要的任何其他内容)。我已经为 python 进行了几次演示/ ETC:
https://github.com/evankanderson/klr-buildpack https://github.com/evankanderson/pyfun
请注意,这些不是生产级的,只是我玩了一三天。
您可以使用命令在本地构建构建包pack
,也可以使用多种技术在集群上构建构建包。这里有 5 个构建选项的详细文档:https ://buildpacks.io/docs/tools/,以及https://buildpacks.io/features/底部的“支持的平台”列表。
推荐阅读
- c# - unity3D 获取动画控制器当前动画时间
- android - android Oreo 上的 ForegroundService 被杀死
- hadoop-yarn - 在 AWS EMR 中部署 Flink 自定义 JAR 文件时出错
- php - php 使用 mail() 函数从域中发送电子邮件地址的电子邮件
- python - 向客户端发送有关视图中长时间运行任务的进度的更新
- css - 将复选框与标签对齐
- android - 计费库 PurchasesResult 不包含订阅的 expiryTimeMillis,没有实时通知如何获取?
- express - Express js + Sequelize 和 hook
- javascript - 在自定义日历中自动突出显示“剩余时间”
- php - 使用下一页获取 youtube 播放列表数据,包括播放列表中的每个视频