作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Sagemaker 来训练和部署我的机器学习模型。至于预测,它将由 lambda 函数作为计划作业(每小时)执行。过程如下:
data = json.loads(json.dumps(event))
payload = data['data']
print(payload)
response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,
ContentType='text/csv',
Body=payload)
obj = client.get_object(Bucket=my_bucket, Key='foo.csv')
lines= obj['Body'].read().decode('utf-8').splitlines()
reader = csv.reader(lines)
file = io.StringIO(lines)
response = runtime.invoke_endpoint(EndpointName=ENDPOINT,
ContentType='*/*',
Body = file.getvalue(),
Body=payload)
output = response['Body'].read().decode('utf-8')
pandas
将生成数据框。是否可以直接将其作为
invoke_endpoint
的输入? ?我可以将聚合数据集上传到另一个 S3 存储桶,但它必须通过
decoding
,
csv.reader
,
StringIO
就像我找到的示例一样,还是有一种简单的方法可以做到这一点?是
decode
步骤真的有必要得到输出吗?
最佳答案
当您调用 InvokeEndpoint
时,您可以发送任何您想要的负载。并以任何形式。您可以控制任一方的契约(Contract)(假设您的模型支持它)。如果您使用的模型不是您创建的,请查看它是否支持前/后处理,这将允许您自己定义契约(Contract)。
除此之外,我们经常看到客户做的一件事是在模型内进行处理,而不是在调用 SageMaker 的 InvokeEndpoint
之前进行处理。 .一个常见的用例是在调用 InvokeEndpoint
时接受需要预测的对象的 S3 路径。 .然后模型将负责下载 S3 项目并对其进行转换,然后对该数据运行推理。
取决于 InvokeEndpoint
响应,它可以做同样的事情,模型可以将它上传到 S3,然后将 S3 key 作为响应发送回来。这可能不是您想要做的,但这只是您在使用 SageMaker 时所拥有的灵 active 的另一个示例。
关于pandas - 如何在 pandas 数据框上使用 sagemaker 进行预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59548385/
我是一名优秀的程序员,十分优秀!