如何使用邮递员将请求传递给 sagemaker
How to pass a request to sagemaker using postman
我已经在 sagemaker 上训练了一个模型并创建了端点。我正在尝试使用 postman 调用端点。但是在训练模型时甚至之后,我都没有为训练数据指定任何 header 。我不知道如何在向 sagemaker
发送 post 请求时创建有效载荷
创建端点后,您可以像调用任何其他 restful 服务一样使用凭据和负载调用它。
我猜,可能有两个地方卡住了。
一种可能是,发送包含所有 headers 和所有内容的实际 PostMan 请求。
较新版本的 Postman 将 AWS 签名作为其中一种授权类型。您可以使用它来调用服务。不需要其他空格 headers。请注意,Postman 中有一个错误仍然存在 (issue-1663),该错误仅在您是 AWS 联合帐户时才会受到影响。个人账户不应受此问题影响。
或者,您可能会卡在实际负载上。当您调用 SageMaker 端点时,负载将按原样传递给模型。如果您想在将输入提供给模型之前对其进行预处理,则必须实施 input_fn 方法并在实例化模型时指定该方法。
您还可以使用 AWS SDK boto3 调用 SageMaker 端点,如下所示
import boto3
runtime= boto3.client('runtime.sagemaker')
payload = getImageData()
result = runtime.invoke_endpoint(
EndpointName='my_endpoint_name',
Body=payload,
ContentType='image/jpeg'
)
希望对您有所帮助。
这是调用快速入门指南中创建的 sagemaker 端点的示例。您可以使用 text/csv
或 application/json
格式调用它:
在邮递员中:
你想要的 url 是 POST https://runtime.sagemaker.{{region}}.amazonaws.com/endpoints/{{aws_model_name}}/invocations
在“授权”选项卡中,选择类型 AWS Signature
并输入 AccessKey
和 SecretKey
的值(建议您对这些使用变量)和 sagemaker
对于服务名称。
在 Headers 下添加:
Content-Type
: text/csv
Accept
: application/json
In Body:粘贴你的 body,用逗号分隔(如果你遵循快速入门指南,在笔记本中你可以简单地 运行 print(valid_set[0][60:61])
得到一个示例向量。您需要将该值集转换为逗号分隔值
点击 Send
就可以开始了!
要发送 JSON 数据,请将 Content-Type
更改为 application/json
并且您希望结构如下所示:
{
"instances":[
{
"configuration": {},
"features": [...]
}
]
}
我已经在 sagemaker 上训练了一个模型并创建了端点。我正在尝试使用 postman 调用端点。但是在训练模型时甚至之后,我都没有为训练数据指定任何 header 。我不知道如何在向 sagemaker
发送 post 请求时创建有效载荷创建端点后,您可以像调用任何其他 restful 服务一样使用凭据和负载调用它。
我猜,可能有两个地方卡住了。 一种可能是,发送包含所有 headers 和所有内容的实际 PostMan 请求。 较新版本的 Postman 将 AWS 签名作为其中一种授权类型。您可以使用它来调用服务。不需要其他空格 headers。请注意,Postman 中有一个错误仍然存在 (issue-1663),该错误仅在您是 AWS 联合帐户时才会受到影响。个人账户不应受此问题影响。
或者,您可能会卡在实际负载上。当您调用 SageMaker 端点时,负载将按原样传递给模型。如果您想在将输入提供给模型之前对其进行预处理,则必须实施 input_fn 方法并在实例化模型时指定该方法。
您还可以使用 AWS SDK boto3 调用 SageMaker 端点,如下所示
import boto3
runtime= boto3.client('runtime.sagemaker')
payload = getImageData()
result = runtime.invoke_endpoint(
EndpointName='my_endpoint_name',
Body=payload,
ContentType='image/jpeg'
)
希望对您有所帮助。
这是调用快速入门指南中创建的 sagemaker 端点的示例。您可以使用 text/csv
或 application/json
格式调用它:
在邮递员中: 你想要的 url 是 POST https://runtime.sagemaker.{{region}}.amazonaws.com/endpoints/{{aws_model_name}}/invocations
在“授权”选项卡中,选择类型 AWS Signature
并输入 AccessKey
和 SecretKey
的值(建议您对这些使用变量)和 sagemaker
对于服务名称。
在 Headers 下添加:
Content-Type
: text/csv
Accept
: application/json
In Body:粘贴你的 body,用逗号分隔(如果你遵循快速入门指南,在笔记本中你可以简单地 运行 print(valid_set[0][60:61])
得到一个示例向量。您需要将该值集转换为逗号分隔值
点击 Send
就可以开始了!
要发送 JSON 数据,请将 Content-Type
更改为 application/json
并且您希望结构如下所示:
{
"instances":[
{
"configuration": {},
"features": [...]
}
]
}