Publish a model as a service using the Sensei Machine Learning API

NOTE
Data Science Workspace kan niet meer worden aangeschaft.
Deze documentatie is bedoeld voor bestaande klanten met eerdere rechten op Data Science Workspace.

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:

Term
Definitie
het Leren van de Machine Instantie (de Instantie van XML)
Een instantie van een Sensei -engine voor een bepaalde huurder, die specifieke gegevens, parameters en Sensei -code bevat.
Experiment
Een overkoepelende entiteit voor het houden van de looppas van de trainingsExperiment, het scoren Experimentloops, of allebei.
Gepland Experiment
Een term waarmee de automatisering van trainings- of scores voor experimentele runtime wordt beschreven, waarvoor een door de gebruiker gedefinieerd schema geldt.
Experimentele Looppas
Een specifiek geval van opleiding of het scoren van Experimenten. Meerdere experimentatieroutes van een bepaalde expert kunnen verschillen in waarden voor gegevenssets die worden gebruikt voor training of scoring.
Geleid Model
Een model voor machinaal leren dat is gemaakt door het experimenteren en het ontwerpen van functies voordat een gevalideerd, geëvalueerd en voltooid model wordt gevonden.
Gepubliceerd Model
Een voltooid en versioned model kwam na opleiding, bevestiging, en evaluatie aan.
het Leren van de Machine Dienst (de Dienst van ML)
Een Instantie van XML die als Dienst wordt opgesteld om op bestelling verzoeken om opleiding en het scoren te steunen gebruikend een API eindpunt. Een dienst van ML kan ook worden tot stand gebracht gebruikend bestaande getrainde Runnen van de Experiment.

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 * * * *"
        }
      }'
Eigenschap
Beschrijving
mlInstanceId
Bestaande instantie-id van ML, de training Experiment Run die wordt gebruikt om de ML Service te maken, moet overeenkomen met deze specifieke XML-instantie.
trainingExperimentId
Experimentatie-id die overeenkomt met de instantie-id van ML.
trainingExperimentRunId
Een bepaalde opleiding de Uitvoeren van de Experiment die voor het publiceren van de Dienst van ML moet worden gebruikt.
scoringDataSetId
Identificatie die verwijst naar de specifieke gegevensset die moet worden gebruikt voor geplande scoring-experimentuitvoeren.
scoringTimeframe
Een geheel getal dat minuten vertegenwoordigt voor het filteren van gegevens die moeten worden gebruikt voor het scoren van experimentele runtime. De waarde 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
Bevat details betreffende geplande het scoren van de Runnen van de Experiment.
scoringSchedule.startTime
Datumtijd die aangeeft wanneer de scoring moet worden gestart.
scoringSchedule.endTime
Datumtijd die aangeeft wanneer de scoring moet worden gestart.
scoringSchedule.cron
Waarde voor uitsnijden die het interval aangeeft tussen het uitvoeren van het experiment.

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 * * * *"
        }
      }'
JSON-toets
Beschrijving
mlInstanceId
De bestaande die Instantie van XML identificatie, die de Instantie van XML vertegenwoordigt wordt gebruikt om de Dienst van ML tot stand te brengen.
trainingDataSetId
Identificatie die verwijst naar de specifieke gegevensverzameling die moet worden gebruikt voor opleidingsexperimenten.
trainingTimeframe
Een geheel getal dat minuten vertegenwoordigt voor het filteren van gegevens die moeten worden gebruikt voor trainingsexperimenten. De waarde "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
Identificatie die verwijst naar de specifieke gegevensset die moet worden gebruikt voor geplande scoring-experimentuitvoeren.
scoringTimeframe
Een geheel getal dat minuten vertegenwoordigt voor het filteren van gegevens die moeten worden gebruikt voor het scoren van experimentele runtime. De waarde "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
Bevat details betreffende geplande het scoren van de Runnen van de Experiment.
scoringSchedule.startTime
Datumtijd die aangeeft wanneer de scoring moet worden gestart.
scoringSchedule.endTime
Datumtijd die aangeeft wanneer de scoring moet worden gestart.
scoringSchedule.cron
Waarde voor uitsnijden die het interval aangeeft tussen het uitvoeren van het experiment.

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 * * * *"
        }
      }'
JSON-toets
Beschrijving
mlInstanceId
Bestaande instantie-id van XML die de XML-instantie voorstelt die wordt gebruikt om de XML-service te maken.
trainingDataSetId
Identificatie die verwijst naar de specifieke gegevensverzameling die moet worden gebruikt voor opleidingsexperimenten.
trainingTimeframe
Een geheel getal dat minuten vertegenwoordigt voor het filteren van gegevens die moeten worden gebruikt voor trainingsexperimenten. De waarde "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
Identificatie die verwijst naar de specifieke gegevensset die moet worden gebruikt voor geplande scoring-experimentuitvoeren.
scoringTimeframe
Een geheel getal dat minuten vertegenwoordigt voor het filteren van gegevens die moeten worden gebruikt voor het scoren van experimentele runtime. De waarde "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
Bevat details betreffende de geplande looppas van het trainingsexperiment.
scoringSchedule
Bevat details betreffende geplande het scoren van de Runnen van de Experiment.
scoringSchedule.startTime
Datumtijd die aangeeft wanneer de scoring moet worden gestart.
scoringSchedule.endTime
Datumtijd die aangeeft wanneer de scoring moet worden gestart.
scoringSchedule.cron
Waarde voor uitsnijden die het interval aangeeft tussen het uitvoeren van het experiment.

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}
Parameter
Beschrijving
{SERVICE_ID}
De unieke 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"
}
NOTE
Het terugwinnen van de verschillende Diensten van ML kan een reactie met meer of minder sleutel-waarde paren terugkeren. De bovengenoemde reactie is een vertegenwoordiging van de Dienst van a ML met zowel geplande opleiding als het scoren van de Runnen van de Experiment.

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}
Parameter
Beschrijving
{SERVICE_ID}
De unieke 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 * * * *"
        }
      }'
WARNING
Probeer de 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"
}
recommendation-more-help
cc79fe26-64da-411e-a6b9-5b650f53e4e9