我正在尝试从本地python笔记本电脑调用Amazon Sagemaker端点。这是我正在使用的代码。
import boto3
aws_access_key_id = '...............'
aws_secret_access_key = '................'
tkn = '..........'
region_name = '............'
amz = boto3.client('sagemaker-runtime',
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
aws_session_token=tkn,
region_name=region_name)
response = amz.invoke_endpoint(
EndpointName='mymodel',
Body=b'bytes'
)
然而,这不起作用。我是否必须在Body中指定其他内容?
发布于 2018-06-28 23:34:07
您可以使用boto3会话。我假设您已经准备好了json,并且您的aws凭据已经在~/.aws/credentials上。
import boto3, json, sagemaker
sagemaker_session = sagemaker.Session()
role = "YOUR-SAGEMAKER-EXECUTION-ROLE"
region = boto3.Session().region_name
endpointName= 'YOUR ENDPOINT NAME'
predictor = sagemaker.predictor.RealTimePredictor(
endpointName,
sagemaker_session=sagemaker_session,
content_type="application/json")
d='YOUR JSON LINES- YOU CAN OPEN WITH PYTHON BUILT IN FUNCTIONS'
response=predictor.predict(json.dumps(d))
响应有json格式的回答正文。您可以解析它并使用您的结果。
https://stackoverflow.com/questions/50871651
复制相似问题