Importar un fórmula empaquetado utilizando la API de Sensei Machine Learning

NOTE
La Espacio de trabajo de ciencia de datos ya no está disponible para su compra.
Esta documentación está destinada a clientes existentes con derechos previos a Data Science Espacio de trabajo.

Este tutorial utiliza el Sensei Machine Learning API para crear un motor, también conocido como "fórmula" en la interfaz usuario.

Antes de comenzar, es importante tener en cuenta que Adobe Experience Platform Data Science Workspace utiliza diferentes términos para referirse a elementos similares dentro de la API y IU. Los términos de API se utilizan en todo este tutorial y en la siguiente tabla se resumen los términos correlacionados:

Término IU
Término de API
Fórmula
Motor
Modelo
MLInstance
Capacitación y evaluación
Experimento
Servicio
MLService

Un motor contiene algoritmos de aprendizaje automático y lógica para resolver problemas específicos. El diagrama siguiente proporciona una visualización que muestra el flujo de trabajo de 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.

Introducción

Este tutorial requiere un archivo de recetas empaquetado en forma de URL de Docker. Siga los archivos de origen del paquete en un tutorial de recetas para crear un archivo de fórmula empaquetado o proporcionar el suyo propio.

  • {DOCKER_URL}: una dirección URL a una imagen de Docker de un servicio inteligente.

Este tutorial requiere que haya completado el Authentication para Adobe Experience Platform tutorial para realizar llamadas Platform a las API correctamente. Al completar el tutorial de autenticación, se proporcionan los valores para cada uno de los encabezados obligatorios en todas las llamadas de API de Experience Platform, como se muestra a continuación:

  • {ACCESS_TOKEN}: El valor específico del token al portador proporcionado después de la autenticación.
  • {ORG_ID}: las credenciales de su organización se encuentran en su integración de Adobe Experience Platform única.
  • {API_KEY}: el valor específico de la clave de API que se encuentra en la integración única de Adobe Experience Platform.

Crear un motor

Los motores se pueden crear haciendo una petición POST al punto final /engines. El motor creado se configura según el formulario del archivo de recetas empaquetado que debe incluirse como parte del solicitud API.

Crear un motor con un Docker URL create-an-engine-with-a-docker-url

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.

CAUTION
Si está usando Python o R, utilice la solicitud siguiente. Si utiliza PySpark o Scala, utilice el ejemplo de solicitud PySpark/Scala situado debajo del ejemplo 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 para ser mostrada en Data Science Workspace usuario interfaz como el nombre de la Fórmula.
engine.description
Una descripción opcional del motor. La Fórmula correspondiente a este Motor heredará este valor para ser mostrada en Data Science Workspace usuario interfaz como descripción de la Fórmula. No elimine este Propiedad, deje que este valor sea una cadena vacía si elige no proporcionar una descripción.
engine.type
Tipo de ejecución del motor. Este valor corresponde al idioma en el que se desarrolla la imagen de Docker. Cuando se proporciona un URL de Docker para crear un motor, type es , Python R, PySpark, Spark (Scala) o Tensorflow.
artifacts.default.image.location
Tu {DOCKER_URL} va aquí. Una URL 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 de Docker. No quite este Propiedad, deje que este valor sea una cadena vacía si elige no proporcionar un nombre de archivo de imagen Docker adicional.
artifacts.default.image.executionType
Tipo de ejecución de este motor. Este valor corresponde al idioma en el que se desarrolla la imagen de Docker. Cuando se proporciona un 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 para mostrarse en la IU como el nombre de la Fórmula.
description
Una descripción opcional del motor. La Fórmula correspondiente a este Motor heredará este valor para ser mostrada en IU como la descripción de la Fórmula. Esta Propiedad es obligatoria. Si no desea proporcionar una descripción, defina su valor para que sea una cadena vacía.
type
Tipo de ejecución del motor. Este valor corresponde al idioma en el que la imagen de Docker se basa en "PySpark".
mlLibrary
Campo necesario al crear motores para recetas de PySpark y Scala.
artifacts.default.image.location
La ubicación de la imagen de Docker vinculada por un URL de Docker.
artifacts.default.image.executionType
Tipo de ejecución del motor. Este valor corresponde al idioma en el que la imagen de Docker se basa en "Spark".

Solicitar Scala

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 para mostrarse en la IU como el nombre de la Fórmula.
description
Una descripción opcional del motor. La Fórmula correspondiente a este Motor heredará este valor para ser mostrada en IU como la descripción de la Fórmula. Esta Propiedad es obligatoria. Si no desea proporcionar una descripción, defina su valor para que sea una cadena vacía.
type
Tipo de ejecución del motor. Este valor corresponde al idioma en el que la imagen de Docker se basa en "Spark".
mlLibrary
Campo necesario al crear motores para recetas de PySpark y Scala.
artifacts.default.image.location
La ubicación de la imagen de Docker a la que está vinculado una URL de 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 sobre "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. Las executionType claves y type 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 id clave representa el identificador de motor único y se requiere en los tutorial siguientes para crear una MLInstance. Asegúrese de guardar el identificador del motor antes de continuar con los siguientes pasos.

Pasos siguientes next-steps

Ha creado un motor utilizando la API y se ha obtenido un identificador de motor único como parte del cuerpo de la respuesta. Puede usar este identificador de motor en los próximos tutorial a medida que aprenda a crear, entrenar y evaluar un modelo mediante la API.

recommendation-more-help
cc79fe26-64da-411e-a6b9-5b650f53e4e9