创建增量学习任务
接口功能
创建增量学习任务。整个增量学习过程一般包括了数据捕获、难例筛选、难例标注、增量训练、评估、新模型部署等步骤。创建增量学习任务后,增量学习系统会自动检测输入的数据进行难例筛选以及检测标注数据上传后自动训练。
条件约束
- 创建增量学习任务前,需要先在证书配置管理服务中创建增量学习管理服务对接的WFE、minio的应用配置,并在全局配置管理服务中将创建的WFE、minio配置设为默认配置。
- 任务使用的minio工作空间所在的桶需要提前在minio上创建。
- 用户填写的训练卡号必须确保在设备上存在。假如设备有8张NPU,卡号必须在0~7之间。假如设备有4张NPU,卡号必须在0~3之间。增量学习管理服务暂不支持对填写的卡的存在性进行检查,如果使用不存在的卡进行训练,可能导致训练组件异常卡死。
- 不同增量学习任务所使用的训练卡不可互相冲突(同一张训练卡只允许分配给一个任务)。如果训练过程中出现指定的卡被其他任务占用的情况,会导致训练组件报错。
- 使用多卡训练时,使用的卡需要满足昇腾设备对多卡训练的要求,如四卡只能是“0,1,2,3”或者“4,5,6,7”。
- 不同增量学习任务的任务名不可以重复。
- 不同增量学习任务所使用的minio工作空间不可互相冲突。
接口格式
操作类型:POST
URL:https://{ip}:{port}/icsmanager/v1/inclearning/task
请求参数
参数 |
是否必选 |
说明 |
取值要求 |
---|---|---|---|
name |
必选 |
增量学习任务名称。 |
由小写字母、数字和中划线组成,总长不超过34个字符的字符串。其中第一个字符只能是小写字母,最后一个字符只能是小写字母或数字。 |
description |
可选 |
描述。 |
总长不超过255字节的字符串。 |
appName |
必选 |
推理应用名称。 |
总长不超过128个字符,MEF中存在。 |
modelName |
必选 |
推理应用模型名称。 |
总长不超过128字符的字符串。 |
workspace |
必选 |
增量学习在minio的工作路径。 |
总长不超过512字符,符合minio对象路径规则(使用“/”分割后至少包含一级桶名和一级文件对象名或路径名;桶名至少三个字符,只允许小写字母、数字、点号和中划线;文件对象路径名只允许大小写字母、数字、点号、中划线和下划线)。 |
hardMiningAlgList |
可选 |
难例挖掘组件使用的算法列表。 |
总长不超过128字符的字符串。不同算法之间使用逗号分隔,如果未指定则使用默认值“ibt,hcd”。 |
datasetFormat |
必选 |
用户训练/测评脚本中处理的数据集格式(如果用户提供初始训练集/初始测评集也需要和这个格式保持一致)。 |
仅支持COCO。 |
initTrainDataset |
可选 |
初始训练集。 |
总长不超过512字符,符合minio对象路径规则(使用“/”分割后至少包含一级桶名和一级文件对象名或路径名;桶名至少三个字符,只允许小写字母、数字、点号和中划线;文件对象路径名只允许大小写字母、数字、点号、中划线和下划线)。 |
initTestDataset |
可选 |
初始测评集。 |
总长不超过512字符,符合minio对象路径规则(使用“/”分割后至少包含一级桶名和一级文件对象名或路径名;桶名至少三个字符,只允许小写字母、数字、点号和中划线;文件对象路径名只允许大小写字母、数字、点号、中划线和下划线)。 |
initTrainModel |
必选 |
初始训练模型。 |
总长不超过512字符,符合minio对象路径规则(使用“/”分割后至少包含一级桶名和一级文件对象名或路径名;桶名至少三个字符,只允许小写字母、数字、点号和中划线;文件对象路径名只允许大小写字母、数字、点号、中划线和下划线)。 |
valueFilterConfig |
必选 |
难例筛选组件配置文件minio路径。 |
总长不超过512字符,符合minio对象路径规则(使用“/”分割后至少包含一级桶名和一级文件对象名或路径名;桶名至少三个字符,只允许小写字母、数字、点号和中划线;文件对象路径名只允许大小写字母、数字、点号、中划线和下划线)。 |
trainConfig |
必选 |
训练组件配置文件minio路径。 |
总长不超过512字符,符合minio对象路径规则(使用“/”分割后至少包含一级桶名和一级文件对象名或路径名;桶名至少三个字符,只允许小写字母、数字、点号和中划线;文件对象路径名只允许大小写字母、数字、点号、中划线和下划线)。 |
evalConfig |
必选 |
评估组件配置文件minio路径。 |
总长不超过512字符,符合minio对象路径规则(使用“/”分割后至少包含一级桶名和一级文件对象名或路径名;桶名至少三个字符,只允许小写字母、数字、点号和中划线;文件对象路径名只允许大小写字母、数字、点号、中划线和下划线)。 |
atcConfig |
必选 |
模型转换组件配置文件minio路径。 |
总长不超过512字符,符合minio对象路径规则(使用“/”分割后至少包含一级桶名和一级文件对象名或路径名;桶名至少三个字符,只允许小写字母、数字、点号和中划线;文件对象路径名只允许大小写字母、数字、点号、中划线和下划线)。 |
trainNpuDevices |
必选 |
训练组件NPU卡分配。 |
匹配正则表达式“^[0-7](,[0-7]){0,7}$”的字符串。 |
atcNpuDevices |
必选 |
模型转换组件NPU卡分配。 |
匹配正则表达式“^[0-7](,[0-7]){0,7}$”的字符串。 |
evalNewNpuDevices |
必选 |
新模型测评组件NPU卡分配。 |
匹配正则表达式“^[0-7](,[0-7]){0,7}$”的字符串。 |
evalOldNpuDevices |
必选 |
旧模型测评组件NPU卡分配。 |
匹配正则表达式“^[0-7](,[0-7]){0,7}$”的字符串。 |
使用样例
请求样例:
POST https://<ip>:<port>/icsmanager/v1/inclearning/task
请求消息体:
{ "name": "il-test", "description": "dubug", "appName": "stub app xxx", "modelName": "stub model xxx", "workspace": "fake dir xxx", "datasetFormat": "COCO", "initTrainDataset": "fake path xxx", "initTestDataset": "fake path xxx", "initTrainModel": "fake path xxx", "valueFilterConfig": "fake path xxx", "trainConfig": "fake path xxx", "evalConfig": "fake path xxx", "atcConfig": "fake path xxx", "npuAllocation": { "trainNpuDevices": "0,1,2,3", "atcNpuDevices": "0", "evalNewNpuDevices": "1", "evalOldNpuDevices": "2", } }
响应样例:
{ "status": "00000000", "msg": "success" }
响应状态码:200
输出说明
参数 |
类型 |
说明 |
---|---|---|
status |
string |
状态码。 |
msg |
string |
状态描述。 |