Publicera en modell som en tjänst med Sensei Machine Learning API
I den här självstudiekursen beskrivs hur du publicerar en modell som en tjänst med hjälp av Sensei Machine Learning API.
Komma igång
Den här självstudiekursen kräver en fungerande förståelse för Adobe Experience Platform Data Science Workspace. Innan du börjar med den här självstudiekursen ska du gå igenom Översikt över arbetsytan Datavetenskap för en introduktion till tjänsten på hög nivå.
Om du vill följa med i den här självstudiekursen måste du ha en befintlig ML-motor, ML-instans och Experiment. Anvisningar om hur du skapar dessa i API:t finns i självstudiekursen om importera ett paketerat recept.
Innan du startar den här självstudiekursen ska du gå igenom komma igång i utvecklarhandboken för att få viktig information som du behöver känna till för att kunna ringa till Sensei Machine Learning API, inklusive de rubriker som behövs i den här självstudiekursen:
{ACCESS_TOKEN}
{ORG_ID}
{API_KEY}
Alla förfrågningar från POST, PUT och PATCH kräver ytterligare en rubrik:
- Innehållstyp: application/json
Nyckeltermer
I följande tabell beskrivs några vanliga termer som används i den här självstudiekursen:
Skapa en ML-tjänst med en befintlig övningsexperimentell körning och schemalagd poängsättning
När du publicerar en utbildningsexperimentell körning som en ML-tjänst kan du schemalägga betygsättning genom att ange information för bedömningsförsöket Kör nyttolasten för en POST. Detta resulterar i att en schemalagd experimententitet för poängsättning skapas.
API-format
POST /mlServices
Begäran
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
betyder att data från de senaste 10080 minuterna eller 168 timmarna kommer att användas för varje schemalagd bedömningsförsökskörning. Observera att värdet för 0
filtrerar inte data, alla data i datauppsättningen används för poängsättning.scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
Svar
Ett lyckat svar returnerar information om den nyligen skapade ML-tjänsten, inklusive dess unika id
och scoringExperimentId
för deras motsvarande poängsättningsexperiment.
{
"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"
}
Skapa en ML-tjänst från en befintlig ML-instans
Beroende på ditt specifika användningsfall och dina specifika krav är det flexibelt att skapa en ML-tjänst med en ML-instans när det gäller schemaläggning av kurser och poängsättning i Experiment Runs. Den här självstudiekursen handlar om följande specialfall:
Observera att en ML-tjänst kan skapas med en ML-instans utan schemaläggning av några utbildnings- eller poängsättningsexperiment. Sådana ML-tjänster skapar vanliga experimentenheter och en enda Experimentrunda för utbildning och poängsättning.
ML-tjänst med schemalagd utvärdering för bedömning ml-service-with-scheduled-experiment-for-scoring
Du kan skapa en ML-tjänst genom att publicera en ML-instans med schemalagda Experiment Runs för bedömning, som skapar en vanlig Experimentenhet för utbildning. En utbildnings-Experimentkörning genereras och kommer att användas för alla schemalagda poängsättningsutvärderingsutvärderingsprocesser. Se till att du har mlInstanceId
, trainingDataSetId
och scoringDataSetId
krävs för att skapa ML-tjänsten och att de finns och är giltiga värden.
API-format
POST /mlServices
Begäran
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"
betyder att data från de senaste 10080 minuterna eller 168 timmarna kommer att användas för utbildningens Experimentkörning. Observera att värdet för "0"
inte filtrerar data, alla data i datauppsättningen används för utbildning.scoringDataSetId
scoringTimeframe
"10080"
betyder att data från de senaste 10080 minuterna eller 168 timmarna kommer att användas för varje schemalagd bedömningsförsökskörning. Observera att värdet för "0"
filtrerar inte data, alla data i datauppsättningen används för poängsättning.scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
Svar
Ett lyckat svar returnerar information om den nyligen skapade ML-tjänsten. Detta inkluderar tjänstens unika id
, samt trainingExperimentId
och scoringExperimentId
för motsvarande utbildnings- och poängsättningsexperter.
{
"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-tjänst med schemalagda experiment för utbildning och poängsättning ml-service-with-scheduled-experiments-for-training-and-scoring
Om du vill publicera en befintlig ML-instans som en ML-tjänst med schemalagda kurser och poängsättningsprovperioder måste du tillhandahålla både utbildnings- och poängscheman. När en ML-tjänst av den här konfigurationen skapas skapas även schemalagda experimentenheter för både utbildning och poängsättning. Observera att kursplaner och poängscheman inte behöver vara desamma. Under ett poängsättningsjobb kommer den senaste utbildningsmodellen som skapats av schemalagda kurser i Experiment Runs att hämtas och användas för den schemalagda poängsättningen.
API-format
POST /mlServices
Begäran
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"
betyder att data från de senaste 10080 minuterna eller 168 timmarna kommer att användas för utbildningens Experimentkörning. Observera att värdet för "0"
inte filtrerar data, alla data i datauppsättningen används för utbildning.scoringDataSetId
scoringTimeframe
"10080"
betyder att data från de senaste 10080 minuterna eller 168 timmarna kommer att användas för varje schemalagd bedömningsförsökskörning. Observera att värdet för "0"
filtrerar inte data, alla data i datauppsättningen används för poängsättning.trainingSchedule
scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
Svar
Ett lyckat svar returnerar information om den nyligen skapade ML-tjänsten. Detta inkluderar tjänstens unika id
, samt trainingExperimentId
och scoringExperimentId
av motsvarande utbildnings- och poängsättningsexperter. I exempelsvaret nedan finns det trainingSchedule
och scoringSchedule
tyder på att de experimentella enheterna för utbildning och poängsättning är inplanerade experiment.
{
"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"
}
Söka efter en ML-tjänst retrieving-ml-services
Du kan söka efter en befintlig ML-tjänst genom att skapa en GET
begäran till /mlServices
och erbjuder unika id
av ML-tjänsten i sökvägen.
API-format
GET /mlServices/{SERVICE_ID}
{SERVICE_ID}
id
av ML-tjänsten du söker.Begäran
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}'
Svar
Ett godkänt svar returnerar information om ML-tjänsten.
{
"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"
}
Schemalägg utbildning eller poängsättning
Om du vill schemalägga poängsättning och utbildning för en ML-tjänst som redan har publicerats kan du göra det genom att uppdatera den befintliga ML-tjänsten med en PUT
begäran på /mlServices
.
API-format
PUT /mlServices/{SERVICE_ID}
{SERVICE_ID}
id
av ML-tjänsten som du uppdaterar.Begäran
Följande begäran avser utbildning och poängsättning för en befintlig ML-tjänst genom att lägga till trainingSchedule
och scoringSchedule
tangenter med respektive startTime
, endTime
och cron
nycklar.
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
befintliga schemalagda utbildnings- och poängsättningsjobb. Om startTime
måste ändras, överväg att publicera samma modell och omplanera utbildning- och poängsättningsjobben.Svar
Ett godkänt svar returnerar information om den uppdaterade ML-tjänsten.
{
"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"
}