有日期时间字段时如何将数据发送到 AWS Sagemaker 端点?

问题描述 投票:0回答:0

我使用 AutoML 在 AWS SageMaker 中训练了一个模型。我创建了一个端点。现在我正在尝试向它发送数据,但是我在以第一种格式发送它时遇到了问题。

训练数据有四个输入:

d_time:日期时间

小时:类别

day_of_week:类别

班次:类别

backup_calls:类别

Hour、day_of_week、shift 和 backup_calls 恰好是整数。

我尝试通过以下方式发送数据:

import boto3
import json
import datetime as dt

 
endpoint = 'endpoint-name'
 
runtime = boto3.Session().client('sagemaker-runtime')

data = {
    "d_time": "2023-05-19 03:34:34",
    "hour": 3,
    "day_of_week": 4,
    "shift": 3,
    "backup_call": 0
}

# Send CSV text via InvokeEndpoint API
response = runtime.invoke_endpoint(EndpointName=endpoint, ContentType='application/json', Body=json.dumps(data))

# Unpack response
result = json.loads(response['Body'].read().decode())

我收到一条错误消息:

result = self._transform_fn(self._model, input_data, content_type, accept)
  File "/opt/ml/model/code/tabular_serve.py", line 60, in transform_fn
    raise Exception(f"{input_content_type} content type does not has correct format")
Exception: application/json content type does not has correct format

你能帮我以正确的方式发送数据吗?谢谢!

python json amazon-sagemaker
© www.soinside.com 2019 - 2024. All rights reserved.