Publish a model as a service using the Sensei Machine Learning API
Deze zelfstudie behandelt het proces om een model als dienst te publiceren gebruikend Sensei Machine Learning API.
Aan de slag
Deze zelfstudie vereist een goed begrip van Adobe Experience Platform Data Science Workspace. Alvorens met dit leerprogramma te beginnen, te herzien gelieve het overzicht van Workspace van de Wetenschap van Gegevensvoor een inleiding op hoog niveau aan de dienst.
Om samen met dit leerprogramma te volgen, moet u een bestaande Motor van ML, Instantie van XML, en Experiment hebben. Voor stappen op hoe te om deze in API tot stand te brengen, zie het leerprogramma bij het invoeren van een verpakt recept.
Tot slot alvorens dit leerprogramma te beginnen, te herzien gelieve begonnen wordtsectie van de ontwikkelaarsgids voor belangrijke informatie die u moet kennen om vraag aan Sensei Machine Learning API met succes te maken, met inbegrip van de vereiste kopballen die door dit leerprogramma worden gebruikt:
{ACCESS_TOKEN}
{ORG_ID}
{API_KEY}
Alle POST, PUT, en PATCH verzoeken vereisen een extra kopbal:
- Inhoudstype: application/json
Belangrijkste voorwaarden
In de volgende tabel wordt een aantal gangbare terminologie beschreven die in deze zelfstudie wordt gebruikt:
Creeer de Dienst van ML met een bestaande de looppas van de trainings Experimenteer en geplande scoring
Wanneer u een de looppas van de trainingsExperiment als Dienst van ML publiceert, kunt u het scoren plannen door details voor het scoren in werking te stellen Experiment de lading van een verzoek van de POST. Dit resulteert in de oprichting van een geplande entiteit voor het maken van scores door een expert.
API formaat
POST /mlServices
Verzoek
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
betekent bijvoorbeeld dat gegevens uit de afgelopen 10080 minuten of 168 uur worden gebruikt voor elke geplande score die wordt uitgevoerd door een expert. De waarde 0
filtert geen gegevens, alle gegevens in de gegevensset worden gebruikt voor scoring.scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
Reactie
Een geslaagde reactie retourneert de details van de zojuist gemaakte ML-service, inclusief de unieke id
en de scoringExperimentId
voor de bijbehorende studie.
{
"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"
}
Het creëren van een Dienst van XML van een bestaand Instantie van XML
Afhankelijk van uw specifiek gebruiksgeval en vereisten, is het creëren van een Dienst van ML met een Instantie van ML flexibel in termen van het plannen van opleiding en het scoren van de Runs van de Experiment. In deze zelfstudie worden de specifieke gevallen besproken waarin:
Merk op dat een Dienst van ML kan worden gecreeerd gebruikend een Instantie van XML zonder enige opleiding of het scoren Experimenten te plannen. Met dergelijke ML Services worden gewone Experiment-entiteiten en één Experiment Run voor training en scoring gemaakt.
ML Service met gepland experiment voor scoring ml-service-with-scheduled-experiment-for-scoring
U kunt de Dienst van ML tot stand brengen door een Instantie van XML met geplande Runnen van de Experiment voor het scoring te publiceren, die tot een gewone Experimententiteit voor opleiding zal leiden. Er wordt een serie trainingsexperimenten gegenereerd die wordt gebruikt voor alle geplande evaluatiereacties voor scores. Zorg ervoor dat u beschikt over de vereiste mlInstanceId
, trainingDataSetId
en scoringDataSetId
voor het maken van de XML-service en dat deze bestaan en geldige waarden zijn.
API formaat
POST /mlServices
Verzoek
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"
betekent bijvoorbeeld dat gegevens uit de afgelopen 10080 minuten of 168 uur worden gebruikt voor de uitvoering van het trainingsexperiment. De waarde "0"
filtert geen gegevens, alle gegevens in de gegevensset worden gebruikt voor training.scoringDataSetId
scoringTimeframe
"10080"
betekent bijvoorbeeld dat gegevens uit de afgelopen 10080 minuten of 168 uur worden gebruikt voor elke geplande score die wordt uitgevoerd door een expert. De waarde "0"
filtert geen gegevens, alle gegevens in de gegevensset worden gebruikt voor scoring.scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
Reactie
Een succesvolle reactie keert de details van de pas gecreëerde Dienst van ML terug. Hieronder vallen de unieke id
van de service en de trainingExperimentId
en scoringExperimentId
voor de overeenkomende experimenten met training en scoring.
{
"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 Service met geplande experimenten voor training en scoring ml-service-with-scheduled-experiments-for-training-and-scoring
Om een bestaande Instantie van XML als Dienst van ML met geplande opleiding en het scoren de Loppen van de Experimenten te publiceren, moet u zowel opleidings als het scoren programma's verstrekken. Wanneer een Dienst van ML van deze configuratie wordt gecreeerd, worden de geplande entiteiten van de Experiment voor zowel opleiding als het scoren ook gecreeerd. Opleiding- en scoringprogramma's hoeven niet hetzelfde te zijn. Tijdens het uitvoeren van een scoring wordt het meest recente trainingsmodel dat door de geplande trainingsexperimentatierouts is gemaakt, opgehaald en gebruikt voor de geplande scoring.
API formaat
POST /mlServices
Verzoek
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"
betekent bijvoorbeeld dat gegevens uit de afgelopen 10080 minuten of 168 uur worden gebruikt voor de uitvoering van het trainingsexperiment. De waarde "0"
filtert geen gegevens, alle gegevens in de gegevensset worden gebruikt voor training.scoringDataSetId
scoringTimeframe
"10080"
betekent bijvoorbeeld dat gegevens uit de afgelopen 10080 minuten of 168 uur worden gebruikt voor elke geplande score die wordt uitgevoerd door een expert. De waarde "0"
filtert geen gegevens, alle gegevens in de gegevensset worden gebruikt voor scoring.trainingSchedule
scoringSchedule
scoringSchedule.startTime
scoringSchedule.endTime
scoringSchedule.cron
Reactie
Een succesvolle reactie keert de details van de pas gecreëerde Dienst van ML terug. Dit omvat het unieke id
van de service, plus de trainingExperimentId
en scoringExperimentId
van de bijbehorende trainings- en scores-experimenten. In het onderstaande voorbeeldantwoord geven de aanwezigheid van trainingSchedule
en scoringSchedule
de suggestie dat de entiteiten Experiment voor training en scoring geplande experimenten zijn.
{
"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"
}
Een ML-service opzoeken retrieving-ml-services
U kunt een bestaande XML-service opzoeken door een GET
aanvraag in te dienen bij /mlServices
en de unieke id
van de XML-service in het pad op te geven.
API formaat
GET /mlServices/{SERVICE_ID}
{SERVICE_ID}
id
van de XML-service die u opzoekt.Verzoek
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}'
Reactie
Een succesvolle reactie keert de details van de Dienst van ML terug.
{
"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"
}
Training of scores plannen
Als u scoring en training wilt plannen voor een ML Service die al is gepubliceerd, kunt u dit doen door de bestaande ML Service bij te werken met een PUT
request on /mlServices
.
API formaat
PUT /mlServices/{SERVICE_ID}
{SERVICE_ID}
id
van de XML-service die u bijwerkt.Verzoek
In het volgende verzoek worden training en scores voor een bestaande ML Service gepland door de toetsen trainingSchedule
en scoringSchedule
toe te voegen met hun respectievelijke toetsen startTime
, endTime
en 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
niet te wijzigen voor bestaande geplande training- en scoring-taken. Als de startTime
moet worden gewijzigd, kunt u hetzelfde model publiceren en opleidings- en scoretaken opnieuw plannen.Reactie
Een succesvolle reactie keert de details van de bijgewerkte Dienst van ML terug.
{
"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"
}