代码之家  ›  专栏  ›  技术社区  ›  nad

从python boto客户机使用S3中的数据负载调用SageMaker端点

  •  0
  • nad  · 技术社区  · 5 年前

    mybucket . 假设这个数据的s3端点是 s3://mybucket/imgname

    现在我在SageMaker中也部署了一个模型 sagemaker-model-endpoint

    我研究了如何从boto客户端调用SageMaker端点的示例 here 但我不确定如何指定s3路径 s3://mybucket/imgname invoke_endpoint 打电话。

    client = boto3.client("runtime.sagemaker", region_name = 's3.us-east-2.amazonaws.com')
    client.invoke_endpoint(
          EndpointName=sagemaker-model-endpoint
          Body=payload,
          ContentType='image/jpg',
          Accept='Accept')
    

    应该是什么 payload s3 网址?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Guy    5 年前

    您需要有图像的字节,从S3(S3 copy或wget)获取图像后,可以调用:

    with open(file_name, 'rb') as f:
        payload = f.read()
        payload = bytearray(payload)
    
    client.invoke_endpoint(EndpointName=sagemaker-model-endpoint, 
                                       ContentType='application/x-image', 
                                       Body=payload)
    
        2
  •  0
  •   Johna    5 年前

    如果你想让你的模型下载图片,那么你需要修改你的模型,这样它就可以在请求正文中或者通过 CustomAttributes header .