Importar una fórmula empaquetada mediante la API de aprendizaje automático de Sensei
- Temas:
- Data Science Workspace
Creado para:
- Usuario
- Desarrollador
Este tutorial usa Sensei Machine Learning API para crear un Motor, también conocido como una 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 interfaz de usuario. Los términos de la API se utilizan en este tutorial y la siguiente tabla describe 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 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.
Introducción
Este tutorial requiere un archivo de fórmula empaquetado en forma de URL de Docker. Siga el tutorial de Empaquetar archivos de origen en una fórmula para crear un archivo de fórmula empaquetado o proporcione el suyo propio.
{DOCKER_URL}
: una dirección URL a una imagen Docker de un servicio inteligente.
Este tutorial requiere que haya completado el tutorial Autenticación en Adobe Experience Platform para realizar llamadas correctamente a las API Experience Platform. 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}
: valor de token de portador específico proporcionado después de la autenticación.{ORG_ID}
: las credenciales de su organización se encontraron en su integración de Adobe Experience Platform única.{API_KEY}
: se encontró el valor de clave de API específico en la integración de Adobe Experience Platform única.
Crear un motor
Los motores se pueden crear realizando una petición POST al extremo /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
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.
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"
}
}
}
}'
engine.name
engine.description
engine.type
type
es Python
, R
, PySpark
, Spark
(Scala) o Tensorflow
.artifacts.default.image.location
{DOCKER_URL}
se va aquí. Una dirección URL de Docker completa tiene la siguiente estructura: your_docker_host.azurecr.io/docker_image_file:version
artifacts.default.image.name
artifacts.default.image.executionType
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"
}
}
}
}'
name
description
type
mlLibrary
artifacts.default.image.location
artifacts.default.image.executionType
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"
}
}
}
}'
name
description
type
mlLibrary
artifacts.default.image.location
artifacts.default.image.executionType
Respuesta
Una respuesta correcta devuelve una carga útil que contiene los detalles del motor recién creado, incluido su identificador único (id
). La siguiente respuesta de ejemplo es para un motor Python. Las claves executionType
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
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 el siguiente tutorial mientras aprende a crear, entrenar y evaluar un modelo mediante la API.