【问题标题】:How to deploy breast cancer prediction endpoint created by AWS Sagemaker using Lambda and API gateway?如何使用 Lambda 和 API 网关部署 AWS Sagemaker 创建的乳腺癌预测端点?
【发布时间】:2019-03-06 09:36:53
【问题描述】:

我正在尝试使用 AWS Lambda 和 API 网关在 Amazon Sagemanker 上部署现有的乳腺癌预测模型。我已按照以下网址的官方文档进行操作。

https://aws.amazon.com/blogs/machine-learning/call-an-amazon-sagemaker-model-endpoint-using-amazon-api-gateway-and-aws-lambda/

我在“predicted_label”处遇到类型错误。

 result = json.loads(response['Body'].read().decode())
 print(result)
 pred = int(result['predictions'][0]['predicted_label'])
 predicted_label = 'M' if pred == 1 else 'B'

 return predicted_label

如果有人可以解决此问题,请告诉我。谢谢你。

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway amazon-sagemaker


    【解决方案1】:

    通过print(type(result)) 打印结果类型,您可以看到它的字典。现在您可以看到键名称是“score”而不是您提供给 pred 的“predicted_label”。因此将其替换为

    pred = int(result['predictions'][0]['score'])
    

    我认为这可以解决您的问题。

    这是我的 lambda 函数:

    import os
    import io
    import boto3
    import json
    import csv
    
    # grab environment variables
    ENDPOINT_NAME = os.environ['ENDPOINT_NAME']
    runtime= boto3.client('runtime.sagemaker')
    
    def lambda_handler(event, context):
       print("Received event: " + json.dumps(event, indent=2))
    
       data = json.loads(json.dumps(event))
       payload = data['data']
       print(payload)
    
       response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,
                                          ContentType='text/csv',
                                          Body=payload)
       #print(response)
       print(type(response))
       for key,value in response.items():
           print(key,value)
       result = json.loads(response['Body'].read().decode())
       print(type(result))
       print(result['predictions'])
       pred = int(result['predictions'][0]['score'])
       print(pred)
       predicted_label = 'M' if pred == 1 else 'B'
    
       return predicted_label
    

    【讨论】:

    • 非常感谢
    • 您好,我现在正在查看该示例。在payload= data['data'] 中,每个“数据”代表什么?
    猜你喜欢
    • 2019-02-20
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    相关资源
    最近更新 更多