Este tutorial utiliza la variable Sensei Machine Learning API para crear un Motor, también conocido como fórmula en la interfaz de usuario.
Antes de comenzar, es importante tener en cuenta que Adobe Experience Platform Data Science Workspace utiliza términos diferentes para hacer referencia a elementos similares dentro de la API y la IU. Los términos de la API se utilizan en este tutorial y la siguiente tabla describe los términos correlacionados:
Término de interfaz de usuario | Término de API |
---|---|
Fórmula | Motor |
Modelo | Instancia MLI |
Capacitación y evaluación | Experimento |
Service | MLService |
Un motor contiene algoritmos y lógica de aprendizaje automático para resolver problemas específicos. El diagrama siguiente proporciona una visualización del flujo de trabajo de la API en Data Science Workspace. Este tutorial se centra en la creación de un motor, el cerebro de un modelo de aprendizaje automático.
Este tutorial requiere un archivo de fórmula empaquetado en forma de URL de Docker. Siga las Empaquetar archivos de origen en una fórmula tutorial para crear un archivo de fórmula empaquetado o proporcionar el suyo propio.
{DOCKER_URL}
: Dirección URL de una imagen Docker de un servicio inteligente.Este tutorial requiere que haya completado el Tutorial sobre autenticación en Adobe Experience Platform para realizar correctamente llamadas a Platform API. Al completar el tutorial de autenticación, se proporcionan los valores para cada uno de los encabezados necesarios en todos los Experience Platform Llamadas de API, como se muestra a continuación:
{ACCESS_TOKEN}
: Su valor de token al portador específico proporcionado después de la autenticación.{ORG_ID}
: Sus credenciales de organización de IMS se encuentran en su integración única de Adobe Experience Platform.{API_KEY}
: El valor clave de API específico que se encuentra en su integración única de Adobe Experience Platform.Los motores se pueden crear realizando una solicitud de POST al extremo /engines. El motor creado se configura en función del formulario del archivo de fórmula empaquetado que debe incluirse como parte de la solicitud de API.
Para crear un motor con un archivo de fórmula empaquetado almacenado en un contenedor de Docker, debe proporcionar la URL de Docker al archivo de fórmula empaquetado.
Si está utilizando Python o R use la siguiente solicitud. Si está utilizando PySpark o Scala, utilice el ejemplo de solicitud PySpark/Scala situado debajo del ejemplo de Python/R.
Formato de API
POST /engines
Solicitar Python/R
curl -X POST \
https://platform.adobe.io/data/sensei/engines \
-H 'Authorization: {ACCESS_TOKEN}' \
-H 'X-API-KEY: {API_KEY}' \
-H 'content-type: multipart/form-data' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H `x-sandbox-name: {SANDBOX_NAME}` \
-F 'engine={
"name": "Retail Sales Engine Python",
"description": "A description for Retail Sales Engine, this Engines execution type is Python",
"type": "Python"
"artifacts": {
"default": {
"image": {
"location": "{DOCKER_URL}",
"name": "retail_sales_python",
"executionType": "Python"
}
}
}
}'
Propiedad | Descripción |
---|---|
engine.name |
El nombre deseado para el motor. La fórmula correspondiente a este motor heredará este valor que se mostrará en Data Science Workspace interfaz de usuario como nombre de la fórmula. |
engine.description |
Una descripción opcional del motor. La fórmula correspondiente a este motor heredará este valor que se mostrará en Data Science Workspace interfaz de usuario como descripción de la fórmula. No quite esta propiedad, deje que este valor sea una cadena vacía si decide no proporcionar una descripción. |
engine.type |
El tipo de ejecución del motor. Este valor corresponde al idioma en el que se desarrolla la imagen Docker. Cuando se proporciona una URL de Docker para crear un motor, type es Python , R , PySpark , Spark (Scala) o Tensorflow . |
artifacts.default.image.location |
Su {DOCKER_URL} va aquí. Una URL de Docker completa tiene la siguiente estructura: your_docker_host.azurecr.io/docker_image_file:version |
artifacts.default.image.name |
Un nombre adicional para el archivo de imagen Docker. No quite esta propiedad, deje que este valor sea una cadena vacía si decide no proporcionar un nombre de archivo de imagen Docker adicional. |
artifacts.default.image.executionType |
El tipo de ejecución de este motor. Este valor corresponde al idioma en el que se desarrolla la imagen Docker. Cuando se proporciona una URL de Docker para crear un motor, executionType es Python , R , PySpark , Spark (Scala) o Tensorflow . |
Solicitar PySpark
curl -X POST \
https://platform.adobe.io/data/sensei/engines \
-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}' \
-H 'content-type: multipart/form-data' \
-F 'engine={
"name": "PySpark retail sales recipe",
"description": "A description for this Engine",
"type": "PySpark",
"mlLibrary":"databricks-spark",
"artifacts": {
"default": {
"image": {
"name": "modelspark",
"executionType": "PySpark",
"packagingType": "docker",
"location": "v1d2cs4mimnlttw.azurecr.io/sarunbatchtest:0.0.1"
}
}
}
}'
Propiedad | Descripción |
---|---|
name |
El nombre deseado para el motor. La fórmula correspondiente a este motor heredará este valor que se mostrará en la interfaz de usuario como nombre de la fórmula. |
description |
Una descripción opcional del motor. La fórmula correspondiente a este motor heredará este valor que se mostrará en la interfaz de usuario como la descripción de la fórmula. Esta es una propiedad obligatoria. Si no desea proporcionar una descripción, establezca su valor en una cadena vacía. |
type |
El tipo de ejecución del motor. Este valor corresponde al idioma en el que se crea la imagen Docker en "PySpark". |
mlLibrary |
Campo necesario al crear motores para recetas PySpark y Scala. |
artifacts.default.image.location |
La ubicación de la imagen del Docker vinculada por una URL del Docker. |
artifacts.default.image.executionType |
El tipo de ejecución del motor. Este valor corresponde al idioma en el que se crea la imagen Docker en "Spark". |
Escala de solicitud
curl -X POST \
https://platform.adobe.io/data/sensei/engines \
-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}' \
-H 'content-type: multipart/form-data' \
-F 'engine={
"name": "Spark retail sales recipe",
"description": "A description for this Engine",
"type": "Spark",
"mlLibrary":"databricks-spark",
"artifacts": {
"default": {
"image": {
"name": "modelspark",
"executionType": "Spark",
"packagingType": "docker",
"location": "v1d2cs4mimnlttw.azurecr.io/sarunbatchtest:0.0.1"
}
}
}
}'
Propiedad | Descripción |
---|---|
name |
El nombre deseado para el motor. La fórmula correspondiente a este motor heredará este valor que se mostrará en la interfaz de usuario como nombre de la fórmula. |
description |
Una descripción opcional del motor. La fórmula correspondiente a este motor heredará este valor que se mostrará en la interfaz de usuario como la descripción de la fórmula. Esta es una propiedad obligatoria. Si no desea proporcionar una descripción, establezca su valor en una cadena vacía. |
type |
El tipo de ejecución del motor. Este valor corresponde al idioma en el que se crea la imagen Docker en "Spark". |
mlLibrary |
Campo necesario al crear motores para recetas PySpark y Scala. |
artifacts.default.image.location |
La ubicación de la imagen del Docker vinculada por una URL del Docker. |
artifacts.default.image.executionType |
El tipo de ejecución del motor. Este valor corresponde al idioma en el que se crea la imagen Docker en "Spark". |
Respuesta
Una respuesta correcta devuelve una carga útil que contiene los detalles del motor recién creado, incluido su identificador único (id
). El siguiente ejemplo de respuesta es para un Python Motor. La variable executionType
y type
las claves cambian según el POST proporcionado.
{
"id": "{ENGINE_ID}",
"name": "A name for this Engine",
"description": "A description for this Engine",
"type": "Python",
"algorithm": "Classification",
"created": "2019-01-01T00:00:00.000Z",
"createdBy": {
"userId": "Jane_Doe@AdobeID"
},
"updated": "2019-01-01T00:00:00.000Z",
"artifacts": {
"default": {
"image": {
"location": "{DOCKER_URL}",
"name": "An additional name for the Docker image",
"executionType": "Python",
"packagingType": "docker"
}
}
}
}
Una respuesta correcta muestra una carga útil JSON con información sobre el motor recién creado. La variable id
representa el identificador único del motor y es necesario en el siguiente tutorial para crear una instancia MLI. Asegúrese de que el identificador del motor se guarde antes de continuar con los pasos siguientes.
Ha creado un motor con la API y se ha obtenido un identificador de motor único como parte del cuerpo de respuesta. Puede utilizar este identificador de motor en el siguiente tutorial mientras aprende a crear, entrenar y evaluar un modelo mediante la API.