DataScience集群的KubeFlow服务内置了SeldonCore组件, 可以为模型提供在线服务,基于Kubernetes,您无需关心在线服务的运维工作。您可以根据提供的dsdemo代码,将Tensorflow,Pytorch和Python等模型部署到Seldon中。
前提条件
- 已创建DataScience集群,并且选择了Kubeflow服务,详情请参见创建集群。
- 已进行keras-API训练,详情请参见基于Kubeflow的Training示例。
- 下载dsdemo代码:请已创建DataScience集群的用户,使用钉钉搜索钉钉群号32497587加入钉钉群以获取dsdemo代码。
操作步骤
重要 本示例使用的是keras-api训练的导出模型,详情请参见基于Kubeflow的Training示例。
- 通过SSH方式连接集群,详情请参见登录集群。
- 执行以下命令,进入mnist_from_pvcmodel目录。
cd dsdemo/kubeflow_samples/serving/seldon/tf/mnist_from_pvcmodel/
- 执行以下命令,安装seldon_core。
sudo pip3.7 install seldon_core
- 根据实际需求,配置mnist_grpc.yaml文件。
apiVersion: machinelearning.seldon.io/v1alpha2 kind: SeldonDeployment metadata: name: tfserving spec: name: mnist predictors: - graph: children: [] implementation: TENSORFLOW_SERVER modelUri: "pvc://strategy-volume/saved_model/master/" name: mnist-model parameters: - name: signature_name type: STRING value: serving_default - name: model_name type: STRING value: mnist-model - name: model_input type: STRING value: images - name: model_output type: STRING value: scores name: default replicas: 1
- 执行以下命令,获取istio-gateway的IP地址。
kubectl get svc istio-ingressgateway -n istio-system
返回如下类似信息。# kubectl get svc istio-ingressgateway -n istio-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway NodePort 10.104.**.** <none> 15020:31872/TCP,80:31380/TCP,443:31390/TCP,31400:31400/TCP,15029:30016/TCP,15030:30264/TCP,15031:31961/TCP,15032:31309/TCP,15443:31254/TCP 86m
说明CLUSTER-IP
对应的值即为istio-gateway的IP地址。 - 模型预测GRPC协议或REST协议。说明 请根据实际需求修改predict_rest.py或predict_grpc.py中minikube_ambassador_endpoint地址,修改为步骤5中获取到的istio-gateway的IP地址。
- 模型预测GRPC协议。
python3.7 predict_grpc.py
- 模型预测REST协议。
python3.7 predict_rest.py
返回如下类似信息。Response: {'data': {'names': ['t:0', 't:1', 't:2', 't:3', 't:4', 't:5', 't:6', 't:7', 't:8', 't:9'], 'tensor': {'shape': [1, 10], 'values': [0.0191311873, 9.02173269e-09, 0.000745186175, 0.000349402311, 3.86572756e-05, 0.000118751872, 0.00138262415, 1.31301803e-07, 0.978211641, 2.23898933e-05]}}, 'meta': {}}
按照如上方式,即可将TensorFlow、PyTorch和Python等服务部署在Seldon中,实现在线服务。 - 模型预测GRPC协议。
问题反馈
如果您在使用DataScience集群过程中有任何疑问或问题,请联系我们的技术人员协助处理,同时也欢迎您使用钉钉搜索钉钉群号32497587加入钉钉群进行反馈或交流。