Amazon Sagemaker:编写您自己的推理
Amazon Sagemaker: write your own inference
我正在评估在 Sagemaker 中编写您自己的 Estimator 需要什么。我按照这个例子 here 解释得很好,也很简单。
我的问题是关于 here. I see an example in which we can feed the invocations endpoint CSV 的推断。如果我只想 post 一个字符串甚至单个参数怎么办?最好的做法是什么?我看到有这样的条件:
if flask.request.content_type == "text/csv":
我们应该添加更多类似的东西来支持不同的格式,还是应该创建一个新的端点?
您需要添加对更多内容类型的支持。
既然您想传递字符串或参数,我建议您添加对“application/json”MIME 媒体类型的支持(What is the correct JSON content type?)。然后您的用户将使用 Json 调用 API,您可以从后端解析和提取参数。
例如,如果您有两个参数 age
和 gender
要传递给您的模型。您可以将它们放在以下 Json 数据结构中:
{
"age": ...,
"gender": ...
}
然后添加对加载Json和后台提取参数的支持如下:
if flask.request.content_type == "application/json":
data = flask.request.data.decode("utf-8")
data = json.loads(data)
parameter1 = data['age']
parameter2 = data['gender']
...
我正在评估在 Sagemaker 中编写您自己的 Estimator 需要什么。我按照这个例子 here 解释得很好,也很简单。
我的问题是关于 here. I see an example in which we can feed the invocations endpoint CSV 的推断。如果我只想 post 一个字符串甚至单个参数怎么办?最好的做法是什么?我看到有这样的条件:
if flask.request.content_type == "text/csv":
我们应该添加更多类似的东西来支持不同的格式,还是应该创建一个新的端点?
您需要添加对更多内容类型的支持。
既然您想传递字符串或参数,我建议您添加对“application/json”MIME 媒体类型的支持(What is the correct JSON content type?)。然后您的用户将使用 Json 调用 API,您可以从后端解析和提取参数。
例如,如果您有两个参数 age
和 gender
要传递给您的模型。您可以将它们放在以下 Json 数据结构中:
{
"age": ...,
"gender": ...
}
然后添加对加载Json和后台提取参数的支持如下:
if flask.request.content_type == "application/json":
data = flask.request.data.decode("utf-8")
data = json.loads(data)
parameter1 = data['age']
parameter2 = data['gender']
...