python - Python Notebook 从本地调用 Endpoint Sagemaker
问题描述
我正在尝试从本地 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中指定其他内容?
解决方案
您可以使用 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 格式格式化的答案正文。您可以解析它并使用您的结果。
推荐阅读
- android - 地方自动完成正在打开一个新的覆盖谷歌搜索
- react-native - 在 React Native 中,Flatlist 循环遍历嵌套数组
- c++ - 我应该更改使用 push_back 的代码以使用 std::move 吗?
- testing - Arquillian 和 Open Liberty 需要现有安装吗?
- ios - 应用程序在模拟器中运行,但在我的 iPhone 中关闭
- sql-server - Mac bookpro 上的 Azure Data Studio-服务器连接错误
- linux - 为什么 Shift+Ctrl+e 导致 e 下划线并开始表情符号输入(linux)?
- c# - 从另一个类编辑类属性
- django - 如何将本地分支与在 docker 中创建的迁移合并
- java - 测试时如何去除路由的重名