쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

추론을 위한 공통 데이터 형식

포커스 모드
추론을 위한 공통 데이터 형식 - Amazon SageMaker AI

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

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

Amazon SageMaker AI 알고리즘은 온라인 및 미니 배치 예측을 검색하는 데 사용되는 HTTP 페이로드에 대해 다양한 MIME 유형을 수락하고 생성합니다. 추론을 실행하기 전에 여러 AWS 서비스를 사용하여 레코드를 변환하거나 사전 처리할 수 있습니다. 최소한 다음에 대한 데이터를 변환해야 합니다.

  • 추론 요청 직렬화(사용자가 처리)

  • 추론 요청 역직렬화(알고리즘이 처리)

  • 추론 응답 직렬화(알고리즘이 처리)

  • 추론 응답 역직렬화(사용자가 처리)

추론 요청 직렬화를 위한 데이터 변환

Amazon SageMaker AI 알고리즘 추론 요청에 대한 콘텐츠 유형 옵션에는 text/csv, 및 application/json가 포함됩니다application/x-recordio-protobuf. 이러한 유형을 모두 지원하지 않는 알고리즘은 다른 유형을 지원할 수 있습니다. 예를 들어 XGBoost는 이 목록에서 text/csv만 지원하지만 text/libsvm도 지원합니다.

text/csv에서 invoke_endpoint에 대한 Body 인수의 값은 각 특성에 대한 값을 쉼표로 구분하는 문자열이어야 합니다. 예를 들어 4가지 특성이 포함된 모델에 대한 레코드는 1.5,16.0,14,23.0과 유사할 수 있습니다. 훈련 데이터에서 수행되는 모든 변형은 또한 추론을 얻기 전 데이터에서 수행되어야 합니다. 특성의 순서가 중요하고, 변경되어서는 안 됩니다.

application/json은 더욱 유연하고 개발자가 애플리케이션에서 사용할 수 있는 여러 형식을 제공합니다. 상위 수준의 JavaScript에서 페이로드는 다음과 같은 모습일 수 있습니다.

let request = { // Instances might contain multiple rows that predictions are sought for. "instances": [ { // Request and algorithm specific inference parameters. "configuration": {}, // Data in the specific format required by the algorithm. "data": { "<field name>": dataElement } } ] }

dataElement 지정에 대해 다음과 같은 옵션이 있습니다.

프로토콜 버퍼 동등

// Has the same format as the protocol buffers implementation described for training. let dataElement = { "keys": [], "values": [], "shape": [] }

단순한 숫자 벡터

// An array containing numeric values is treated as an instance containing a // single dense vector. let dataElement = [1.5, 16.0, 14.0, 23.0] // It will be converted to the following representation by the SDK. let converted = { "features": { "values": dataElement } }

여러 레코드

let request = { "instances": [ // First instance. { "features": [ 1.5, 16.0, 14.0, 23.0 ] }, // Second instance. { "features": [ -2.0, 100.2, 15.2, 9.2 ] } ] }

추론 응답 역직렬화를 위한 데이터 변환

Amazon SageMaker AI 알고리즘은 여러 레이아웃으로 JSON을 반환합니다. 상위 수준에서 구조는 다음과 같습니다.

let response = { "predictions": [{ // Fields in the response object are defined on a per algorithm-basis. }] }

알고리즘 간 다른 예측이 포함된 필드입니다. 다음은 k-means 알고리즘 출력의 예제입니다.

단일 레코드 추론

let response = { "predictions": [{ "closest_cluster": 5, "distance_to_cluster": 36.5 }] }

다중 레코드 추론

let response = { "predictions": [ // First instance prediction. { "closest_cluster": 5, "distance_to_cluster": 36.5 }, // Second instance prediction. { "closest_cluster": 2, "distance_to_cluster": 90.3 } ] }

protobuf 입력이 포함된 다중 레코드 추론

{ "features": [], "label": { "closest_cluster": { "values": [ 5.0 ] // e.g. the closest centroid/cluster was 1.0 }, "distance_to_cluster": { "values": [ 36.5 ] } }, "uid": "abc123", "metadata": "{ "created_at": '2017-06-03' }" }

또한 SageMaker AI 알고리즘은 JSONLINES 형식을 지원합니다. 여기서 레코드별 응답 콘텐츠는 JSON 형식과 동일합니다. 멀티 레코드 구조는 줄 바꿈 문자로 구분되는 레코드당 응답 객체의 모음입니다. 입력 데이터 포인트 2개에 대한 기본 제공 KMeans 알고리즘의 응답 콘텐츠는 다음과 같습니다.

{"distance_to_cluster": 23.40593910217285, "closest_cluster": 0.0} {"distance_to_cluster": 27.250282287597656, "closest_cluster": 0.0}

배치 변환을 실행하는 중에는 CreateTransformJobRequestAccept 필드를 application/jsonlines로 설정하여 jsonlines 응답 유형을 사용하는 것이 좋습니다.

모든 알고리즘에 대한 공통 요청 형식

대부분의 알고리즘은 다음과 같은 여러 가지 추론 요청 형식을 사용합니다.

JSON 요청 형식

콘텐츠 유형: application/JSON

고밀도 형식

let request = { "instances": [ { "features": [1.5, 16.0, 14.0, 23.0] } ] } let request = { "instances": [ { "data": { "features": { "values": [ 1.5, 16.0, 14.0, 23.0] } } } ] }

저밀도 형식

{ "instances": [ {"data": {"features": { "keys": [26, 182, 232, 243, 431], "shape": [2000], "values": [1, 1, 1, 4, 1] } } }, {"data": {"features": { "keys": [0, 182, 232, 243, 431], "shape": [2000], "values": [13, 1, 1, 4, 1] } } }, ] }

JSONLINES 요청 형식

콘텐츠 유형: application/JSONLINES

고밀도 형식

밀집 형식의 단일 레코드는 다음 중 하나로 표현될 수 있습니다.

{ "features": [1.5, 16.0, 14.0, 23.0] }

또는:

{ "data": { "features": { "values": [ 1.5, 16.0, 14.0, 23.0] } }

저밀도 형식

희소 형식의 단일 레코드는 다음 중 하나로 표현될 수 있습니다.

{"data": {"features": { "keys": [26, 182, 232, 243, 431], "shape": [2000], "values": [1, 1, 1, 4, 1] } } }

멀티 레코드는 줄 바꿈 문자로 구분되는 위의 단일 레코드 표현이 연결된 형태로 표현됩니다.

{"data": {"features": { "keys": [0, 1, 3], "shape": [4], "values": [1, 4, 1] } } } { "data": { "features": { "values": [ 1.5, 16.0, 14.0, 23.0] } } { "features": [1.5, 16.0, 14.0, 23.0] }

CSV 요청 형식

콘텐츠 유형: text/CSV; label_size=0

참고

Factorization Machine에 대해 CSV 지원을 이용할 수 없습니다.

RECORDIO 요청 형식

콘텐츠 유형: application/x-recordio-protobuf

기본 제공 알고리즘에서 배치 변환 사용

알고리즘에서 지원하는 경우 배치 변환을 실행하는 동안에는 JSON 대신 JSONLINES 응답 유형을 사용하는 것이 좋습니다. 이렇게 하려면 CreateTransformJobRequestAccept 필드를 application/jsonlines로 설정합니다.

변환 작업을 생성할 때 SplitType은 입력 데이터의 ContentType에 따라 설정해야 합니다. 마찬가지로, CreateTransformJobRequestAccept 필드에 따라 AssembleWith를 설정해야 합니다. 다음 테이블을 사용하여 이러한 필드를 설정합니다.

ContentType 권장 SplitType
application/x-recordio-protobuf RecordIO
text/csv Line
application/jsonlines Line
application/json None
application/x-image None
image/* None
Accept 권장 AssembleWith
application/x-recordio-protobuf None
application/json None
application/jsonlines Line

특정 알고리즘의 응답 형식에 자세한 정보는 다음을 참조하세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.