Amazon web services Amazon SageMaker不支持的内容类型应用程序/x-image

Amazon web services Amazon SageMaker不支持的内容类型应用程序/x-image,amazon-web-services,amazon-sagemaker,Amazon Web Services,Amazon Sagemaker,我在Sagemaker中部署了一个基于tensorflow/keras的CNN模型 现在调用推断,我遵循以下步骤 下面是代码片段 def inferImage(endpoint_name): # Load the image bytes img = open('./shoe.jpg', 'rb').read() runtime = boto3.Session().client(service_name='sagemaker-runtime') # Call yo

我在Sagemaker中部署了一个基于tensorflow/keras的CNN模型

现在调用推断,我遵循以下步骤

下面是代码片段

def inferImage(endpoint_name):
    # Load the image bytes
    img = open('./shoe.jpg', 'rb').read()
    runtime = boto3.Session().client(service_name='sagemaker-runtime')

    # Call your model for predicting which object appears in this image.
    response = runtime.invoke_endpoint(
        EndpointName=endpoint_name,
        ContentType='application/x-image',
        Body=bytearray(img))
    response_body = response['Body']
    print(response_body.read()) 
当我运行这段代码时,我得到一个错误

不支持的内容类型应用程序/x-image


我错过了什么?关于如何修复它有什么建议吗?

您是否使用了SageMaker python sdk? 如果是,您可以参考本自述 并提供自己的输入_fn()来处理应用程序/x图像数据

如果您没有在用户脚本中提供自定义输入\u fn(),则默认输入\u fn只能处理3种类型:“应用程序/json”、“文本/csv”和“应用程序/八位字节流”


这里抛出异常:

您是如何解决问题的?分享思想?:)我也面临同样的问题,你是如何解决的?@Prany我创建了自己的定制docker,将模型部署为服务。为了推断,我称之为此服务。感谢您的回复,是否可以分享一些关于如何创建自定义docker和所有内容的上下文。也可以加上一个答案。这会有帮助的!这是我工作场所的一些内部代码,因此我无法共享。但这本指南似乎和我做的一样。我没有遵循它,所以我不能真正验证它,但过程似乎是正确的。