aws / aws/sagemaker-python-sdk

Error in using Clarify with AWS Jumpstart image classification models

Open
#4,815 0 comments 0 reactions 1 assignee Claimed by @pintaoz-aws View on GitHub
type: bug
Dominant language
Python
Stars
2.3k
Forks
1.3k
Avg merge
1d 22h
Merged PRs (30d)
35

Description

**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.

```python
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:
```python
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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.