0

我为泰坦尼克号问题制作了一个模型并将其部署在 sagemaker 上。

我正在使用以下代码发送输入:

import boto3
import pandas as pd
import io
import numpy as np

sm=boto3.client("runtime.sagemaker",region_name='us-east-1')

def np2csv(arr):
    csv = io.BytesIO()
    np.savetxt(csv, arr, delimiter=',', fmt='%g')
    return csv.getvalue().decode().rstrip()

test_X=np.array([2,22,1,0,40,1,0,1])
payload = np2csv(test_X)
sm.invoke_endpoint(
      EndpointName='xgboost-2018-03-07-11-28-07-434',
      Body=payload,
      ContentType='text/x-libsvm',
      Accept='Accept')

我得到以下输出:

{'Body': <botocore.response.StreamingBody at 0x7fddc0dc1278>,
 'ContentType': 'text/csv; charset=utf-8',
 'InvokedProductionVariant': 'AllTraffic',
 'ResponseMetadata': {'HTTPHeaders': {'connection': 'keep-alive',
   'content-length': '119',
   'content-type': 'text/csv; charset=utf-8',
   'date': 'Sun, 11 Mar 2018 11:01:52 GMT',
   'x-amzn-invoked-production-variant': 'AllTraffic',
   'x-amzn-requestid': 'e9061dcc-3dab-44df-8d98-cda861288176'},
  'HTTPStatusCode': 200,
  'RequestId': 'e9061dcc-3dab-44df-8d98-cda861288176',
  'RetryAttempts': 0}}

难道我做错了什么?我如何得到实际的预测,我期望在我的预测类中为 0 或 1

4

1 回答 1

1

尝试这个:

结果 = response['Body'].read().decode('ascii')

您的身体指向 0x7fddc0dc1278 处的 StreamingBody 流>

于 2018-03-17T19:15:19.350 回答