Skip to content

Error in using Clarify with AWS Jumpstart image classification models #4815

@zandvakiliramin

Description

@zandvakiliramin

Describe the bug
In AWS Clarify in ModelConfig for images the accepted content type is image/png while in the AWS jump start the only accepted content type is application/x-image which is not accepted in ModelConfig of Clarify.

model_config = clarify.ModelConfig(
    model_name=model_name, instance_type="ml.m5.xlarge", instance_count=1, content_type="image/png"
)

from inference.py in jumpstart:

def input_fn(input_data, content_type):
    """
    Args:
        input_data: the request payload serialized in the content_type format
        content_type: the request content_type
    """
    if content_type == "application/x-image":
        decoded = Image.open(io.BytesIO(input_data))
    else:
        raise ValueError(f"Type [{content_type}] not supported.")

    preprocess = transforms.Compose([transforms.ToTensor()])
    normalized = preprocess(decoded)
    return normalized

To reproduce

  1. Train an image classification model using jumpstart
  2. Use that model with AWS clarify (to get shap values for example)

Expected behavior
I expect it to work

Screenshots or logs
An error occurred (ModelError) when calling the InvokeEndpoint operation (reached max retries: 0): Received server error (500) from primary with message "{"error": "unsupported content type image/png"}"

System information
A description of your system. Please provide:

  • SageMaker Python SDK version:
  • Framework name (eg. PyTorch) or algorithm (eg. KMeans): tensorflow
  • Framework version:
  • Python version: 3.6
  • CPU or GPU:
  • Custom Docker image (Y/N): N

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions