创建训练任务
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| name_prefix | str | 是 | 训练任务名称前缀 |
| image | str | 是 | 训练任务使用的镜像名称 |
| image_version | str | 是 | 镜像版本 |
| image_type | str | 是 | 镜像类型,可选值为:preset 或 custom |
| image_url | str | 否 | 使用该参数为自定义镜像指定镜像 URL |
| type | str | 是 | 任务类型,可选值为:pytorchjob、pod |
| priority | str | 否 | 任务优先级,可选值为:high、medium、low |
| cmd | str | 是 | 任务入口程序 |
| workers | int | 是 | 任务 worker 数量,不指定时默认为 1 |
| resource_pool | str | 是 | 使用的实例资源池名称: 1. 按需共享: <region>-<cluster>-<tenant>-ondemand-shared 2. 预留共享: <region>-<cluster>-<tenant>-reserved-shared3. 预留独享: <pool_name> |
| instances | List[TaskUserSelectedInstance] | 是 | 任务 Pod 使用的实例类型及数量。可选择多种实例类型,系统将按录入顺序检查是否有足够配额并据此进行调度。 |
| volumes | List[TaskVolume] | 否 | 任务 Pod 需要挂载的存储卷,支持挂载多个存储卷 |
| datasets | List[TaskDataset] | 否 | 任务所需的数据集,支持同时挂载多个数据集 |
| enhancements | TaskEnhancements | 否 | 启用任务增强功能配置 |
| task_env | List[TaskEnv] | 否 | - 配置中的键值对将以环境变量的形式反映在 Pod 中 - hide 参数:设为 True 时,非任务所有者查看任务详情时该值将显示为 ****(主要用于任务共享场景) |
使用 YAML 创建训练任务
除上述通过 create 函数指定参数的方式外,还可以通过提交任务 YAML 配置来创建任务,其格式与 SiFlow 命令行工具相同。删除训练任务
删除单个任务:停止训练任务
根据 ID 获取任务详情
获取任务列表
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| status | string | 否 | 根据 status 字段过滤要查询的任务 |
| count | int | 否 | 本次查询返回的最大任务数量 |
| 返回值中的每一项请参见”相关类型定义”中的 TaskBrief。 |
重新提交任务
结构定义
TaskBrief
| 字段 | 类型 | 说明 |
|---|---|---|
| uuid | string | 任务的 UUID;使用该 ID 查询任务状态详情 |
| cluster | string | 任务所在的集群 |
| name | string | 任务名称 |
| resource_pool | string | 任务使用的实例资源池 |
| instances | List[TaskUserSelectedInstance] | 提交任务时选择的实例类型及数量 |
| selected_instances | List[TaskSystemSelectedInstance] | 任务实际使用的实例类型及数量 |
| volumes | List[TaskVolume] | 任务 Pod 挂载的存储卷 |
| image | string | 任务使用的镜像名称 |
| image_version | string | 镜像版本 |
| image_url | string | 镜像 URL |
| image_type | string | 镜像类型,preset 或 custom |
| status | string | 任务状态 |
| status_msg | string | 任务状态详情 |
| created_time | string | 任务创建时间 |
| updated_time | string | 任务更新时间 |
| start_time | string | 任务开始时间 |
| end_time | string | 任务结束时间 |
| duration | string | 任务运行时长 |
| priority | string | 任务优先级 |
| queue_info | TaskQueueInfo | 任务排队状态 |
Task
| 字段 | 类型 | 说明 |
|---|---|---|
| uuid | string | 任务的 UUID;使用该 ID 查询任务状态详情 |
| cluster | string | 任务所在的集群 |
| name | string | 任务名称 |
| name_prefix | string | 任务名称前缀 |
| resource_pool | string | 任务使用的实例资源池 |
| instances | List[TaskUserSelectedInstance] | 提交任务时选择的实例类型及数量 |
| selected_instances | List[TaskSystemSelectedInstance] | 任务实际使用的实例类型及数量 |
| volumes | List[TaskVolume] | 任务 Pod 挂载的存储卷 |
| image | string | 任务使用的镜像名称 |
| image_version | string | 镜像版本 |
| image_url | string | 镜像 URL |
| image_type | string | 镜像类型,preset 或 custom |
| status | string | 任务状态 |
| status_msg | string | 任务状态详情 |
| created_time | string | 任务创建时间 |
| updated_time | string | 任务更新时间 |
| start_time | string | 任务开始时间 |
| end_time | string | 任务结束时间 |
| duration | string | 任务运行时长 |
| type | string | 任务类型:pytorchjob 或 pod |
| workers | int | 任务 worker 数量 |
| cmd | string | 任务入口命令 |
| datasets | List[TaskDataset] | 挂载到任务 Pod 的数据集 |
| models | List[TaskModel] | 挂载到任务 Pod 的模型 |
| enhancements | TaskEnhancements | 任务增强相关配置 |
TaskUserSelectedInstance
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| name | str | 是 | 可在网页上查看各集群支持的实例类型,例如 sci.c23-2 |
| count_per_pod | int | 是 | 每个任务 Pod 使用的实例数量 |
TaskSystemSelectedInstance
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| name | str | 是 | 可在网页上查看各集群支持的实例类型,例如 sci.c23-2 |
| count_per_pod | int | 是 | 每个任务 Pod 使用的实例数量 |
TaskVolume
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| volume_id | int | 否 | 存储卷的 ID:volume_id 与 volume_name 两个参数中至少需提供一个 |
| volume_name | str | 否 | 存储卷名称 |
| mount_dir | str | 是 | 存储卷在任务 Pod 中的挂载路径 |
TaskDataset
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| name | str | 是 | 要挂载到任务 Pod 的数据集名称 |
| version | str | 否 | 数据集版本 |
| type | str | 是 | 数据集类型,可选参数为:preset 或 custom |
| pvc_name | str | 是 | 数据集所在存储卷对应的 PVC 名称 |
| sub_path | str | 是 | 数据集在存储卷中的相对路径 |
| mount_path | str | 是 | 数据集挂载到任务 Pod 中的路径 |
TaskModel
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| name | str | 是 | 要挂载到任务 Pod 的数据集名称 |
| version | str | 否 | 数据集版本 |
| type | str | 是 | 数据集类型,可选参数为:preset 或 custom |
| pvc_name | str | 是 | 数据集所在存储卷对应的 PVC 名称 |
| sub_path | str | 是 | 数据集在存储卷中的相对路径 |
| mount_path | str | 是 | 数据集挂载到任务 Pod 中的路径 |
TaskEnhancements
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| fault_tolerance | FaultTolerance | 否 | 任务容错相关配置 |
TaskEnhancementsFaultTolerance
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| enabled | bool | 否 | 是否启用任务容错功能 |
| max_retry_count | int | 否 | 任务失败时的最大重试次数 |
| recourds | List[str] | 否 | 任务自动容错记录,创建时无需填写,获取时自动填充 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| rank_in_pool | int | 当前任务在资源池中的排队位置 |
| ahead_in_pool | TasksAheadBreakdown | 当前任务在资源池中前序任务的详细信息 |
| rank_in_user | int | 当前任务在用户任务中的排队位置 |
| ahead_in_user | TasksAheadBreakdown | 当前任务在用户任务中前序任务的详细信息 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| high | int | 排在当前任务之前的高优先级任务数量 |
| medium | int | 排在当前任务之前的普通优先级任务数量 |
| low | int | 排在当前任务之前的低优先级任务数量 |
