

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 이미지 데이터 요구 사항
<a name="clarify-processing-job-data-format-image"></a>

SageMaker Clarify 처리 작업은 이미지 설명을 지원합니다. 이 주제에는 이미지 데이터에 대한 데이터 형식 요구 사항이 나와 있습니다. 이미지 데이터 처리에 대한 자세한 내용은 [컴퓨터 비전의 설명 가능성을 위한 이미지 데이터의 분석](clarify-processing-job-run.md#clarify-processing-job-run-cv) 섹션을 참조하세요.

이미지 데이터세트에는 하나 이상의 이미지 파일이 포함되어 있습니다. SageMaker Clarify 처리 작업에 대한 입력 데이터세트를 식별하려면, `dataset`로 이름이 지정된 [ProcessingInput](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html#sagemaker-CreateProcessingJob-request-ProcessingInputs) 또는 분석 구성 `dataset_uri`매개변수를 해당 이미지 파일의 Amazon S3 URI 접두사로 설정하세요.

지원되는 이미지 파일 형식과 파일 확장자는 다음 표에 나열되어 있습니다.


| 이미지 형식 | 파일 확장명 | 
| --- | --- | 
| JPEG | jpg, jpeg | 
| PNG | PNG | 

분석 구성의 `dataset_type`매개변수를 **application/x-image**로 설정하세요. 유형이 특정 이미지 파일 형식이 아니므로, 이미지 파일 형식과 확장자를 결정하기 위해 `content_type`이 사용됩니다.

SageMaker Clalify 처리 작업은 추가적인 처리를 위해 각 이미지 파일을 3차원의 [NumPy 배열](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html)로 로드합니다. 3차원에는 각 픽셀의 높이, 너비 및 RGB 값이 포함됩니다.

## 엔드포인트 요청 형식
<a name="clarify-processing-job-data-format-image-request"></a>

SageMaker Clarify 처리 작업은 이미지의 원시 RGB 데이터를 JPEG 등의 호환되는 이미지 형식으로 변환합니다. 이 작업은 예측을 위해 데이터를 엔드포인트로 보내기 전에 수행됩니다. 지원되는 이미지 형식은 다음과 같습니다.


| 데이터 형식 | MIME 유형 | 파일 확장명 | 
| --- | --- | --- | 
| JPEG | `image/jpeg` | jpg, jpeg | 
| PNG | `image/png` | PNG | 
| NPY | `application/x-npy` | 모두 해당 | 

분석 구성 매개변수 `content_type`을 사용하여 요청 페이로드의 데이터 형식을 지정합니다. `content_type`이 제공되지 않은 경우, 데이터 형식은 기본값인 `image/jpeg`가 됩니다.

## 엔드포인트 응답 형식
<a name="clarify-processing-job-data-format-image-response"></a>

SageMaker Clarify 처리 작업은 추론 엔드포인트 호출의 응답을 수신하면 응답 페이로드를 역직렬화한 다음 이 페이로드에서 예측을 추출합니다.

### 이미지 분류 문제
<a name="clarify-processing-job-data-format-image-response-class"></a>

응답 페이로드의 데이터 형식은 분석 구성 매개변수 accept\_type을 통해 지정되어야 합니다. `accept_type`이 제공되지 않은 경우, 데이터 형식은 기본값인 `application/json`가 됩니다. 지원되는 형식은 테이블 형식 데이터 섹션의 **Endpoint response for tabular data**에 나와 있는 형식과 동일합니다.

단일 이미지를 받아들인 각 클래스에 대해 확률 값(점수)으로 구성된 배열을 반환하는 SageMaker AI의 기본 제공 이미지 분류 알고리즘의 예시는 [이미지 분류 알고리즘을 이용한 추론](image-classification.md#IC-inference) 섹션을 참조하세요.

다음 표에서 볼 수 있듯이, `content_type`매개변수가 `application/jsonlines`로 설정된 경우 그 응답은 JSON 객체가 됩니다.


| 엔드포인트 요청 페이로드 | 엔드포인트 응답 페이로드(문자열 표현식) | 
| --- | --- | 
| 단일 이미지 | '{"prediction":[0.1,0.6,0.3]}' | 

이전 예제에서는 `probability`매개변수를 JMESPath 표현식 “prediction”으로 설정하여 점수를 추출했습니다.

`content_type`이 `application/json`으로 설정된 경우, 그 응답은 다음 표에서 볼 수 있듯이 JSON 객체가 됩니다.


| 엔드포인트 요청 페이로드 | 엔드포인트 응답 페이로드(문자열 표현식) | 
| --- | --- | 
| 단일 이미지 | '[0.1,0.6,0.3]' | 

이전 예제에서는 `probability`를 JMESPath 표현식 “[\*]”로 설정하여 해당 배열의 모든 요소를 추출했습니다. 이전 예제에서는 [`0.1, 0.6, 0.3]`이 추출되었습니다. 또는 사용자가 `probability`구성 매개변수 설정을 건너뛸 경우 해당 배열의 모든 요소도 함께 추출되게 됩니다. 이는 전체 페이로드 자체가 예측으로서 역직렬화되기 때문입니다.

### 객체 감지 문제
<a name="clarify-processing-job-data-format-object-response-class"></a>

분석 구성 `accept_type`의 기본값은 `application/json`이며, 지원 가능한 유일한 형식은 객체 감지 추론 형식입니다. 응답 형식에 대한 자세한 내용은 [응답 형식](object-detection-in-formats.md#object-detection-recordio) 섹션을 참조하세요.

다음 표는 배열을 출력하는 엔드포인트에서 받은 응답의 예제입니다. 이 배열을 이루는 각 요소는 클래스 인덱스, 신뢰도 점수, 그리고 검출된 객체의 경계 상자 좌표를 포함하고 있는 값의 배열입니다.


| 엔드포인트 요청 페이로드 | 엔드포인트 응답 페이로드(문자열 표현식) | 
| --- | --- | 
| 단일 이미지(객체 1개) | '[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]' | 
| 단일 이미지(객체 2개) | '[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475]]' | 

다음 표는 배열을 참조하는 키가 포한된 JSON 객체를 출력하는 엔드포인트에서 받은 응답의 예제입니다. 분석 구성의 `probability`를 “prediction” 키로 설정하여 값을 추출합니다.


| 엔드포인트 요청 페이로드 | 엔드포인트 응답 페이로드(문자열 표현식) | 
| --- | --- | 
| 단일 이미지(객체 1개) | '{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]}' | 
| 단일 이미지(객체 2개) | '{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475]]}' | 

## 이미지 데이터에 대한 엔드포인트 요청 및 응답의 사전 확인
<a name="clarify-processing-job-data-format-object-precheck"></a>

먼저 SageMaker AI 실시간 추론 엔드포인트에 모델을 배포한 다음 해당 엔드포인트에 요청을 보내는 것을 권장합니다. 요청 및 응답을 수동으로 검토합니다. 둘 다 **이미지 데이터에 대한 엔드포인트 요청** 섹션과 **이미지 데이터에 대한 엔드포인트 응답** 섹션의 요구 사항을 준수하고 있는지 확인하세요.

다음은 요청을 보내고 이미지 분류 및 객체 감지 문제에 대한 응답을 검사하는 방법을 보여주는 두 가지 코드 예제입니다.

### 이미지 분류 문제
<a name="clarify-processing-job-data-format-object-precheck-class"></a>

다음 예제 코드는 엔드포인트로 하여금 PNG 파일을 읽도록 지시한 다음 이를 분류합니다.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-sagemaker-image-classification \
  --content-type "image/png" \
  --accept "application/json" \
  --body fileb://./test.png  \
  /dev/stderr 1>/dev/null
```

이전 코드 예제에서의 응답 출력은 다음과 같습니다.

```
[0.1,0.6,0.3]
```

### 객체 감지 문제
<a name="clarify-processing-job-data-format-object-precheck-object"></a>

다음 예제 코드는 엔드포인트로 하여금 JPEG 파일을 읽도록 지시한 다음 그 안에 있는 객체를 감지합니다.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-sagemaker-object-detection \
  --content-type "image/jpg" \
  --accept "application/json" \
  --body fileb://./test.jpg  \
  /dev/stderr 1>/dev/null
```

이전 코드 예제에서의 응답 출력은 다음과 같습니다.

```
{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475],[4.0, 0.32643985450267792, 0.3677481412887573, 0.034883320331573486, 0.6318609714508057, 0.5967587828636169],[8.0, 0.22552496790885925, 0.6152569651603699, 0.5722782611846924, 0.882301390171051, 0.8985623121261597],[3.0, 0.42260299175977707, 0.019305512309074402, 0.08386176824569702, 0.39093565940856934, 0.9574796557426453]]}
```