MLInstance是现有 引擎 使用一组适当的配置来定义任何培训参数、评分参数或硬件资源配置。
您可以通过执行POST请求来创建MLInstance,同时提供由有效引擎ID({ENGINE_ID}
)和一组适当的默认配置。
如果引擎ID引用PySpark或Spark引擎,则您可以配置计算资源量,如内核数或内存量。 如果引用了Python引擎,则可以选择使用CPU或GPU进行培训和评分。 请参阅 PySpark和Spark资源配置 和 Python CPU和GPU配置 以了解更多信息。
API格式
POST /mlInstances
请求
curl -X POST \
https://platform.adobe.io/data/sensei/mlInstances \
-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: application/vnd.adobe.platform.sensei+json;profile=mlInstance.v1.json' \
-d '{
"name": "A name for this MLInstance",
"description": "A description for this MLInstance",
"engineId": "22f4166f-85ba-4130-a995-a2b8e1edde32",
"tasks": [
{
"name": "train",
"parameters": [
{
"key": "training parameter",
"value": "parameter value"
}
]
},
{
"name": "score",
"parameters": [
{
"key": "scoring parameter",
"value": "parameter value"
}
]
},
{
"name": "fp",
"parameters": [
{
"key": "feature pipeline parameter",
"value": "parameter value"
}
]
}
],
}'
属性 | 描述 |
---|---|
name |
MLInstance的所需名称。 与此MLInstance对应的模型将继承此值,该值将作为模型的名称显示在UI中。 |
description |
MLInstance的可选描述。 与此MLInstance对应的模型将继承此值,该值将在UI中显示为模型的描述。 此属性是必需的。如果不想提供描述,请将其值设置为空字符串。 |
engineId |
现有引擎的ID。 |
tasks |
一组用于培训、评分或功能管道的配置。 |
响应
成功的响应会返回一个有效负载,其中包含新创建的MLInstance的详细信息,包括其唯一标识符(id
)。
{
"id": "46986c8f-7739-4376-8509-0178bdf32cda",
"name": "A name for this MLInstance",
"description": "A description for this MLInstance",
"engineId": "22f4166f-85ba-4130-a995-a2b8e1edde32",
"created": "2019-01-01T00:00:00.000Z",
"createdBy": {
"userId": "Jane_Doe@AdobeID"
},
"updated": "2019-01-01T00:00:00.000Z",
"tasks": [
{
"name": "train",
"parameters": [
{
"key": "training parameter",
"value": "parameter value"
}
]
},
{
"name": "score",
"parameters": [
{
"key": "scoring parameter",
"value": "parameter value"
}
]
},
{
"name": "fp",
"parameters": [
{
"key": "feature pipeline parameter",
"value": "parameter value"
}
]
}
]
}
您可以通过执行单个GET请求来检索MLInstances列表。 要帮助筛选结果,您可以在请求路径中指定查询参数。 有关可用查询的列表,请参阅 资产检索查询参数.
API格式
GET /mlInstances
GET /mlInstances?{QUERY_PARAMETER}={VALUE}
GET /mlInstances?{QUERY_PARAMETER_1}={VALUE_1}&{QUERY_PARAMETER_2}={VALUE_2}
参数 | 描述 |
---|---|
{QUERY_PARAMETER} |
其中一个 可用查询参数 用于筛选结果。 |
{VALUE} |
前一查询参数的值。 |
请求
curl -X GET \
https://platform.adobe.io/data/sensei/mlInstances \
-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}'
响应
成功的响应会返回MLInstances列表及其详细信息。
{
"children": [
{
"id": "46986c8f-7739-4376-8509-0178bdf32cda",
"name": "A name for this MLInstance",
"description": "A description for this MLInstance",
"engineId": "22f4166f-85ba-4130-a995-a2b8e1edde32",
"created": "2019-01-01T00:00:00.000Z",
"createdBy": {
"displayName": "Jane Doe",
"userId": "Jane_Doe@AdobeID"
},
"updated": "2019-01-01T00:00:00.000Z"
},
{
"id": "56986c8f-7739-4376-8509-0178bdf32cda",
"name": "Retail Sales Model",
"description": "A Model created with the Retail Sales Recipe",
"engineId": "32f4166f-85ba-4130-a995-a2b8e1edde32",
"created": "2019-01-01T00:00:00.000Z",
"createdBy": {
"displayName": "Jane Doe",
"userId": "Jane_Doe@AdobeID"
},
"updated": "2019-01-01T00:00:00.000Z"
}
],
"_page": {
"property": "deleted==false",
"totalCount": 2,
"count": 2
}
}
您可以通过执行GET请求来检索特定MLInstance的详细信息,该请求在请求路径中包含所需MLInstance的ID。
API格式
GET /mlInstances/{MLINSTANCE_ID}
参数 | 描述 |
---|---|
{MLINSTANCE_ID} |
所需MLInstance的ID。 |
请求
curl -X GET \
https://platform.adobe.io/data/sensei/mlInstances/46986c8f-7739-4376-8509-0178bdf32cda \
-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}'
响应
成功的响应会返回MLInstance的详细信息。
{
"id": "46986c8f-7739-4376-8509-0178bdf32cda",
"name": "A name for this MLInstance",
"description": "A description for this MLInstance",
"engineId": "22f4166f-85ba-4130-a995-a2b8e1edde32",
"created": "2019-01-01T00:00:00.000Z",
"createdBy": {
"displayName": "Jane Doe",
"userId": "Jane_Doe@AdobeID"
},
"updated": "2019-01-01T00:00:00.000Z",
"tasks": [
{
"name": "train",
"parameters": [
{
"key": "training parameter",
"value": "parameter value"
}
]
},
{
"name": "score",
"parameters": [
{
"key": "scoring parameter",
"value": "parameter value"
}
]
},
{
"name": "featurePipeline",
"parameters": [
{
"key": "feature pipeline parameter",
"value": "parameter value"
}
]
}
]
}
您可以通过PUT请求覆盖现有MLInstance的属性来更新现有MLInstance,该请求在请求路径中包含目标MLInstance的ID,并提供包含已更新属性的JSON有效负载。
为确保此PUT请求成功,建议您首先执行GET请求, 通过ID检索MLInstance. 然后,修改并更新返回的JSON对象,并将修改的JSON对象的整个作为PUT请求的有效负载应用。
以下示例API调用将在最初具有这些属性的同时更新MLInstance的培训和评分参数:
{
"name": "A name for this MLInstance",
"description": "A description for this MLInstance",
"engineId": "00000000-0000-0000-0000-000000000000",
"created": "2019-01-01T00:00:00.000Z",
"createdBy": {
"displayName": "Jane Doe",
"userId": "Jane_Doe@AdobeID"
},
"tasks": [
{
"name": "train",
"parameters": [
{
"key": "learning_rate",
"value": "0.3"
}
]
},
{
"name": "score",
"parameters": [
{
"key": "output_dataset_id",
"value": "output-dataset-000"
}
]
}
]
}
API格式
PUT /mlInstances/{MLINSTANCE_ID}
参数 | 描述 |
---|---|
{MLINSTANCE_ID} |
有效的MLInstance ID。 |
请求
curl -X PUT \
https://platform.adobe.io/data/sensei/mlInstances/46986c8f-7739-4376-8509-0178bdf32cda \
-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: application/vnd.adobe.platform.sensei+json;profile=mlInstance.v1.json' \
-d '{
"name": "A name for this MLInstance",
"description": "A description for this MLInstance",
"engineId": "00000000-0000-0000-0000-000000000000",
"created": "2019-01-01T00:00:00.000Z",
"createdBy": {
"displayName": "Jane Doe",
"userId": "Jane_Doe@AdobeID"
},
"tasks": [
{
"name": "train",
"parameters": [
{
"key": "learning_rate",
"value": "0.5"
}
]
},
{
"name": "score",
"parameters": [
{
"key": "output_dataset_id",
"value": "output-dataset-001"
}
]
}
]
}'
响应
成功的响应会返回包含MLInstance更新详细信息的有效负载。
{
"id": "46986c8f-7739-4376-8509-0178bdf32cda",
"name": "A name for this MLInstance",
"description": "A description for this MLInstance",
"engineId": "00000000-0000-0000-0000-000000000000",
"created": "2019-01-01T00:00:00.000Z",
"createdBy": {
"displayName": "Jane Doe",
"userId": "Jane_Doe@AdobeID"
},
"updated": "2019-01-02T00:00:00.000Z",
"tasks": [
{
"name": "train",
"parameters": [
{
"key": "learning_rate",
"value": "0.5"
}
]
},
{
"name": "score",
"parameters": [
{
"key": "output_dataset_id",
"value": "output-data-set-001"
}
]
}
]
}
您可以通过执行包含引擎ID作为查询参数的DELETE请求,删除共享同一引擎的所有MLInstance。
API格式
DELETE /mlInstances?engineId={ENGINE_ID}
参数 | 描述 |
---|---|
{ENGINE_ID} |
有效的引擎ID。 |
请求
curl -X DELETE \
https://platform.adobe.io/data/sensei/mlInstances?engineId=22f4166f-85ba-4130-a995-a2b8e1edde32 \
-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}'
响应
{
"title": "Success",
"status": 200,
"detail": "MLInstances successfully deleted"
}
您可以通过执行DELETE请求来删除单个MLInstance,该请求在请求路径中包含目标MLInstance的ID。
API格式
DELETE /mlInstances/{MLINSTANCE_ID}
参数 | 描述 |
---|---|
{MLINSTANCE_ID} |
有效的MLInstance ID。 |
请求
curl -X DELETE \
https://platform.adobe.io/data/sensei/mlInstances/46986c8f-7739-4376-8509-0178bdf32cda \
-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}'
响应
{
"title": "Success",
"status": 200,
"detail": "MLInstance deletion was successful"
}