Sagemaker вызывает конечную точку, не возвращая прогноз

Я сделал модель по титанической задаче и развернул ее на 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 в моем прогнозируемом классе


person Jaskaran Singh Puri    schedule 11.03.2018    source источник


Ответы (1)


попробуй это:

результат = ответ ['Body']. read (). decode ('ascii')

ваше тело указывает в потоке StreamingBody по адресу 0x7fddc0dc1278>

person MarcCharbo    schedule 17.03.2018