如何调用AWS SageMaker终端节点以进行推断?

时间:2018-11-21 04:57:07

标签: amazon-web-services machine-learning data-science amazon-sagemaker

我想借助我的机器学习模型在SageMaker的帮助下获得实时预测。我想直接在我的网站上获得推论。如何使用已部署的模型进行预测?

3 个答案:

答案 0 :(得分:2)

Sagemaker端点未公开暴露于Internet。因此,您将需要某种方式来创建可将请求路由到Sagemaker端点的公共HTTP端点。一种实现方法是使用API​​网关前面的AWS Lambda函数。

我创建了一个示例Web应用程序,该应用程序将获取摄像头图像并将其传递到Sagemaker端点进行分类。这使用了我上面描述的API网关-> Lambda-> Sagemaker端点策略。您可以在以下GitHub存储库中看到整个示例,包括有关如何设置Lambda(以及放置在Lambda中的代码)的说明:https://github.com/gabehollombe-aws/webcam-sagemaker-inference/

答案 1 :(得分:1)

您可以使用API​​ Gateway或Lambda调用SageMaker端点。

Lambda:

使用sagemaker aws sdk并使用lambda调用端点。

API网关:

使用API​​网关,并通过AWS服务代理将参数传递给端点。

文档示例:

https://aws.amazon.com/blogs/machine-learning/call-an-amazon-sagemaker-model-endpoint-using-amazon-api-gateway-and-aws-lambda/

希望有帮助。

答案 2 :(得分:0)

像这样使用 CLI:

aws sagemaker-runtime invoke-endpoint \
  --endpoint-name <endpoint-name> \
  --body '{"instances": [{"in0":[863],"in1":[882]}]}' \
  --content-type application/json \
  --accept application/json \
  results

我在关于 accessing Sagemaker via API Gateway 的教程中找到了它。