를 사용하여 모델을 서비스로 게시 Sensei Machine Learning API
이 자습서에서는 다음을 사용하여 모델을 서비스로 게시하는 프로세스에 대해 설명합니다. Sensei Machine Learning API.
시작하기
이 자습서에서는 Adobe Experience Platform 데이터 과학 작업 영역에 대한 작업 이해가 필요합니다. 이 자습서를 시작하기 전에 다음을 검토하십시오. 데이터 과학 작업 영역 개요 를 참조하십시오.
이 자습서와 함께 따르려면 기존 ML 엔진, ML 인스턴스 및 실험이 있어야 합니다. API에서 이러한 구성 요소를 만드는 방법에 대한 단계는에서 자습서를 참조하십시오. 패키지된 배합식 가져오기.
마지막으로, 이 자습서를 시작하기 전에 시작하기 에 성공적으로 호출하기 위해 알아야 하는 중요한 정보는 개발자 안내서의 섹션 을 참조하십시오 Sensei Machine Learning 이 자습서 전체에서 사용되는 필수 헤더를 포함한 API:
{ACCESS_TOKEN}
{ORG_ID}
{API_KEY}
모든 POST, PUT 및 PATCH 요청에는 추가 헤더가 필요합니다.
- Content-Type: application/json
주요 용어
다음 표에서는 이 자습서에서 사용되는 몇 가지 일반적인 용어를 간략하게 설명합니다.
기존 교육 실험 실행 및 예약된 채점으로 ML 서비스 만들기
교육 실험 실행을 ML 서비스로 게시할 때 POST 요청의 페이로드에 채점 실험 실행에 대한 세부 정보를 제공하여 채점을 예약할 수 있습니다. 그 결과 채점에 대해 예약된 실험 개체가 생성됩니다.
API 형식
POST /mlServices
요청
curl -X POST
https://platform.adobe.io/data/sensei/mlServices
-H 'Authorization: {ACCESS_TOKEN}'
-H 'x-api-key: {API_KEY}'
-H 'x-gw-ims-org-id: {ORG_ID}'
-H 'Content-Type: application/json'
-d '{
"name": "Service name",
"description": "Service description",
"trainingExperimentId": "c4155146-b38f-4a8b-86d8-1de3838c8d87",
"trainingExperimentRunId": "5c5af39c73fcec153117eed1",
"scoringDataSetId": "5c5af39c73fcec153117eed1",
"scoringTimeframe": "20000",
"scoringSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
}
}'
mlInstanceId
trainingExperimentId
trainingExperimentRunId
scoringDataSetId
scoringTimeframe
10080
은(는) 각 예약된 채점 실험 실행에 대해 지난 10080분 또는 168시간의 데이터가 사용됨을 의미합니다. 값: 0
는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터는 점수에 사용됩니다.scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
응답
성공적인 응답은 고유한 사항을 포함하여 새로 생성된 ML 서비스의 세부 사항을 반환합니다 id
및 scoringExperimentId
해당 채점 실험의 경우.
{
"id": "string",
"name": "string",
"description": "string",
"mlInstanceId": "string",
"trainingExperimentId": "string",
"trainingExperimentRunId": "string",
"scoringExperimentId": "string",
"scoringDataSetId": "string",
"scoringTimeframe": "integer",
"scoringSchedule": {
"startTime": "2019-03-13T00:00",
"endTime": "2019-03-14T00:00",
"cron": "30 * * * *"
},
"created": "2019-04-08T14:45:25.981Z",
"updated": "2019-04-08T14:45:25.981Z"
}
기존 ML 인스턴스에서 ML 서비스 만들기
특정 사용 사례 및 요구 사항에 따라 ML 인스턴스로 ML 서비스를 만들면 교육 일정 조정 및 실험 실행 채점 측면에서 유연합니다. 이 튜토리얼에서는 다음과 같은 특정 사례를 살펴봅니다.
ML 서비스는 교육 또는 채점 실험 예약 없이 ML 인스턴스를 사용하여 만들 수 있습니다. 이러한 ML 서비스는 일반적인 실험 개체 및 교육 및 채점을 위한 단일 실험 실행을 만듭니다.
채점을 위한 실험이 예약된 ML 서비스 ml-service-with-scheduled-experiment-for-scoring
점수에 대해 예약된 실험 실행이 있는 ML 인스턴스를 게시하여 ML 서비스를 만들 수 있으며, 이는 교육을 위한 일반 실험 엔티티를 만듭니다. 교육 실험 실행이 생성되며 모든 예약된 채점 실험 실행에 사용됩니다. 다음을 확인합니다. mlInstanceId
, trainingDataSetId
, 및 scoringDataSetId
ml 서비스를 만들고, 존재하고 유효한 값인지 확인하는 데 필요합니다.
API 형식
POST /mlServices
요청
curl -X POST
https://platform.adobe.io/data/sensei/mlServices
-H 'Authorization: {ACCESS_TOKEN}'
-H 'x-api-key: {API_KEY}'
-H 'x-gw-ims-org-id: {ORG_ID}'
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"name": "Service name",
"description": "Service description",
"mlInstanceId": "c4155146-b38f-4a8b-86d8-1de3838c8d87",
"trainingDataSetId": "5c5af39c73fcec153117eed1",
"trainingTimeframe": "10000",
"scoringDataSetId": "5c5af39c73fcec153117eed1",
"scoringTimeframe": "20000",
"scoringSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
}
}'
mlInstanceId
trainingDataSetId
trainingTimeframe
"10080"
은(는) 지난 10080분 또는 168시간의 데이터가 교육 실험 실행에 사용됨을 의미합니다. 값: "0"
는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터가 교육에 사용됩니다.scoringDataSetId
scoringTimeframe
"10080"
은(는) 각 예약된 채점 실험 실행에 대해 지난 10080분 또는 168시간의 데이터가 사용됨을 의미합니다. 값: "0"
는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터는 점수에 사용됩니다.scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
응답
성공적인 응답은 새로 생성된 ML 서비스의 세부 정보를 반환합니다. 여기에는 서비스의 고유 항목이 포함됩니다 id
, 및 trainingExperimentId
및 scoringExperimentId
에 해당하는 교육 및 채점 실험 각각에 대해 설명합니다.
{
"id": "string",
"name": "string",
"description": "string",
"mlInstanceId": "string",
"trainingExperimentId": "string",
"trainingDataSetId": "string",
"trainingTimeframe": "integer",
"scoringExperimentId": "string",
"scoringDataSetId": "string",
"scoringTimeframe": "integer",
"scoringSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
},
"created": "2019-04-09T08:58:10.956Z",
"updated": "2019-04-09T08:58:10.956Z"
}
교육 및 채점을 위한 예약된 실험이 포함된 ML 서비스 ml-service-with-scheduled-experiments-for-training-and-scoring
교육 및 채점 실험 실행이 예약된 기존 ML 인스턴스를 ML 서비스로 게시하려면 교육 및 채점 일정을 모두 제공해야 합니다. 이 구성의 ML 서비스가 생성되면 교육 및 채점 모두에 대해 예약된 실험 엔티티도 생성됩니다. 교육 및 채점 일정이 동일하지 않아도 됩니다. 채점 작업 실행 중에 예약된 교육 실험 실행에서 생성된 최신 교육 모델을 가져와 예약된 채점 실행에 사용합니다.
API 형식
POST /mlServices
요청
curl -X POST 'https://platform.adobe.io/data/sensei/mlServices'
-H 'Authorization: Bearer {ACCESS_TOKEN}'
-H 'x-api-key: {API_KEY}'
-H 'x-gw-ims-org-id: {ORG_ID}'
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"name": "string",
"description": "string",
"mlInstanceId": "string",
"trainingDataSetId": "string",
"trainingTimeframe": "string",
"scoringDataSetId": "string",
"scoringTimeframe": "string",
"trainingSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
},
"scoringSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
}
}'
mlInstanceId
trainingDataSetId
trainingTimeframe
"10080"
은(는) 지난 10080분 또는 168시간의 데이터가 교육 실험 실행에 사용됨을 의미합니다. 값: "0"
는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터가 교육에 사용됩니다.scoringDataSetId
scoringTimeframe
"10080"
은(는) 각 예약된 채점 실험 실행에 대해 지난 10080분 또는 168시간의 데이터가 사용됨을 의미합니다. 값: "0"
는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터는 점수에 사용됩니다.trainingSchedule
scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
응답
성공적인 응답은 새로 생성된 ML 서비스의 세부 정보를 반환합니다. 여기에는 서비스의 고유 항목이 포함됩니다 id
, 및 trainingExperimentId
및 scoringExperimentId
각각 해당 교육 및 채점 실험. 아래 예제 응답에서 trainingSchedule
및 scoringSchedule
교육 및 채점을 위한 실험 개체가 예약된 실험임을 제안합니다.
{
"id": "string",
"name": "string",
"description": "string",
"mlInstanceId": "string",
"trainingExperimentId": "string",
"trainingDataSetId": "string",
"trainingTimeframe": "integer",
"scoringExperimentId": "string",
"scoringDataSetId": "string",,
"scoringTimeframe": "integer",
"trainingSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
},
"scoringSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
},
"created": "2019-04-09T08:58:10.956Z",
"updated": "2019-04-09T08:58:10.956Z"
}
ML 서비스 조회 retrieving-ml-services
다음을 만들어 기존 ML 서비스를 조회할 수 있습니다. GET
요청 대상 /mlServices
및 고유한 id
경로에 있는 ML 서비스의 입니다.
API 형식
GET /mlServices/{SERVICE_ID}
{SERVICE_ID}
id
조회하고 있는 ML 서비스요청
curl -X GET 'https://platform.adobe.io/data/sensei/mlServices/{SERVICE_ID}'
-H 'Authorization: Bearer {ACCESS_TOKEN}'
-H 'x-api-key: {API_KEY}'
-H 'x-gw-ims-org-id: {ORG_ID}'
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
성공적인 응답은 ML 서비스의 세부 정보를 반환합니다.
{
"id": "string",
"name": "string",
"description": "string",
"mlInstanceId": "string",
"trainingExperimentId": "string",
"trainingDataSetId": "string",
"trainingTimeframe": "integer",
"scoringExperimentId": "string",
"scoringDataSetId": "string",
"scoringTimeframe": "integer",
"trainingSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
},
"scoringSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-10T00:00",
"cron": "10 * * * *"
},
"created": "2019-05-13T23:46:03.478Z",
"updated": "2019-05-13T23:46:03.478Z"
}
교육 또는 채점 예약
이미 게시된 ML 서비스에 대한 채점 및 교육을 예약하려는 경우 PUT
요청 날짜: /mlServices
.
API 형식
PUT /mlServices/{SERVICE_ID}
{SERVICE_ID}
id
업데이트 중인 ML 서비스의 ID입니다.요청
다음 요청은 을 추가하여 기존 ML 서비스에 대한 교육 및 채점을 예약합니다. trainingSchedule
및 scoringSchedule
해당 키가 있는 키 startTime
, endTime
, 및 cron
키.
curl -X PUT 'https://platform.adobe.io/data/sensei/mlServices/{SERVICE_ID}'
-H 'Authorization: {ACCESS_TOKEN}'
-H 'x-api-key: {API_KEY}'
-H 'x-gw-ims-org-id: {ORG_ID}'
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"name": "string",
"description": "string",
"mlInstanceId": "string",
"trainingExperimentId": "string",
"trainingDataSetId": "string",
"trainingTimeframe": "integer",
"scoringExperimentId": "string",
"scoringDataSetId": "string",
"scoringTimeframe": "integer",
"trainingSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-11T00:00",
"cron": "20 * * * *"
},
"scoringSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-11T00:00",
"cron": "20 * * * *"
}
}'
startTime
기존 예약된 교육 및 채점 작업에 대해. 다음과 같은 경우 startTime
을(를) 수정해야 합니다. 동일한 모델을 게시하고 교육 및 채점 작업 일정을 다시 설정하는 것이 좋습니다.응답
성공적인 응답은 업데이트된 ML 서비스의 세부 정보를 반환합니다.
{
"id": "string",
"name": "string",
"description": "string",
"mlInstanceId": "string",
"trainingExperimentId": "string",
"trainingDataSetId": "string",
"trainingTimeframe": "integer",
"scoringExperimentId": "string",
"scoringDataSetId": "string",
"scoringTimeframe": "integer",
"trainingSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-11T00:00",
"cron": "20 * * * *"
},
"scoringSchedule": {
"startTime": "2019-04-09T00:00",
"endTime": "2019-04-11T00:00",
"cron": "20 * * * *"
},
"created": "2019-04-09T08:58:10.956Z",
"updated": "2019-04-09T09:43:55.563Z"
}