我使用AutoML在AWS SageMaker中训练了一个模型。我创建了一个端点。现在我尝试向它发送数据,但在以第一种格式发送时遇到问题。
训练数据有四个输入:
d_time:日期时间
小时:类别
星期几:类别
班次:类别
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
你能帮我以正确的方式发送数据吗?谢谢你!
1条答案
按热度按时间cclgggtu1#
错误状态application/json不受支持,您可以测试将text/csv作为ContentType发送。然后,您可以将有效负载作为不带列名的CSV字符串发送。使用模型训练的顺序。