第一个推理服务
type
status
date
slug
summary
tags
category
icon
password
网址
运行你的第一个推理服务¶
在本教程中,你将部署一个推理服务,其预测器将加载一个使用鸢尾花iris数据集训练的scikit-learn模型。该数据集有三个输出类别:Iris Setosa, Iris Versicolour和Iris Virginica。
然后,你将向已部署的模型发送推理请求,以获取与你的请求相对应的鸢尾花类别的预测。
由于你的模型是作为推理服务而不是原生Kubernetes服务部署的,你只需要提供模型的存储位置,就能获得一些开箱即用的超能力。🚀
1. 创建命名空间¶
首先,创建一个用于部署KServe资源的命名空间:
2. 创建InferenceService
¶
接下来,为模型定义一个新的InferenceService YAML并将其应用到集群。
在
v0.8.0
版本中引入了新的预测器架构。新的InferenceServices
应使用新架构进行部署。旧架构仅作为参考提供。新架构
旧架构
请勿在控制平面命名空间(即带有 “control-plane” 标签的命名空间)中部署推理服务(InferenceServices)。Web 钩子的配置方式是跳过这些命名空间,以避免任何权限提升的情况。将推理服务部署到这些命名空间中,会导致存储初始化器无法注入到 Pod 中,从而使 Pod 因出现 “没有这样的文件或目录: '/mnt/models'” 的错误而失败。
3. 检查InferenceService
的状态¶
✅预期的状态
name | url | ready | prev | latest | PREVROLLEDOUTREVISION | LATESTREADYREVISION | AGE |
sklearn-iris | True | ㅤ | 199 | ㅤ | sklearn-iris-predictor-default-47q2g | 7d23h |
如果你的域名系统(DNS)中包含 “example.com”,请咨询你的管理员,以便对域名系统进行配置或使用自定义域名。
4. 确定入口IP和端口
执行以下命令以确定你的kubernetes集群是否在支持外部负载均衡器的环境中运行
预期输出
负载均衡器节点端口端口转发
如果设置了EXTERNAL-IP值,则表示你的环境中有一个可用于入口网关的外部负载均衡器。
5. Perform inference
首先,在文件中准备您的推理输入请求:
根据您的设置,使用以下命令之一来调用
InferenceService
:真实DNS魔法DNS通过带HOST头的入口网关通过本地集群网关推理Python客户端
如果您已配置DNS,可以直接使用从状态打印获得的URL来调用
InferenceService
,例如您应该会看到返回两个预测结果(即
{"predictions": [1, 1]}
)。发送进行推理的两组数据点都对应着索引为 1
的花朵。在这种情况下,模型预测这两朵花都是"变色鸢尾"。6. 运行性能测试(可选)
如果您想对已部署的模型进行负载测试,可以尝试部署以下Kubernetes Job来对模型施加负载:
上一篇
KServe快速开始
下一篇
与推理服务(InferenceService)的 Swagger 用户界面进行交互
Loading...