附录(对象定义)

工作区相关

WorkArea

参数名 参数类型 参数描述
workAreaId String 工作区 Id,nbs-16 位随机字符和数字
createTime String 工作区创建时间
name String 工作区名称
description String 工作区描述
type String 工作区类型,默认是 notebook
startTime String 工作区启动时间
endTime String 工作区停止时间
codeURI String 工作区里关联的 bos 存储,bos:/test/portrait
status String 显示工作区的运行状态 Inited,Creating,Running,Restarting,Stopped,Failed,Deleting

getPythonCode

参数名 参数类型 参数描述
content String python 代码内容
trainDataBosURI String 训练数据所在的 bosURI
testDataBosURI String 测试数据所在的 bosURI
thirdpartyBosURI String 第三方库所在的 bosURI
initModelBosURI String 初始的模型所在的 bosURI

作业区

JobBasicInfo

参数名 参数类型 参数描述 备注
jobId String 作业ID,集群作业的唯一标志 -
jobName String 作业名称,用户用来标志作业的自定义名字 -
jobStatus JobStatus 作业当前状态 -
jobImage JobImage 用户创建作业时选择的机器学习镜像 -
createTime String 作业的创建时间,符合日期时间格式约束 -
startTime String 作业开始执行的时间,符合日期时间格式约束 对应jobStatus字段更新为running的时间,即作业完成调度、排队后,在集群容器上实际开始执行的时间
作业未开始执行时,为空字符串
finishTime String 作业结束的时间,符合日期时间格式约束 作业未结束时,为空字符串

JobConfig

参数名 参数类型 必要性 参数描述 备注
codeURI String 必选 作业代码和脚本路径,如bos:/infinite-public/fluid_paddlebook/fit_a_line/script

用户将作业依赖的代码文件、第三方库、初始模型等内容先存储到BOS上,Infinite平台会将该路径下所有文件和子目录下载到每个容器环境的运行目录下。
-
startCommand String 可选 作业在容器环境中的启动命令,一般为执行codeURI路径中的某个入口脚本文件。
如bos:/infinite-public/fluid_paddlebook/fit_a_linee/script的示例目录下只有trainer.py文件,启动命令为python trainer.py

默认值为python trainer.py
-
outputURI String 必选 作业的输出路径。用户希望存储作业输出结果的BOS路径,如bos:/my-bucket/my-output-dir
Infinite会将用户定义的机器学习作业,在集群上执行过程输出到每个容器环境下output目录中的结果,在作业结束时自动存储到用户设置的BOS目录{outputURI}/{jobId}/output下;每个容器环境下标准输出stdout和标准错误stderr中的所有日志信息,以及容器的log目录,在作业结束时自动存储到用户设置的BOS目录{outputURI}/{jobId}/log下。
如没有特殊说明,所有BOS路径需要注意以下几点:
若用户设置的BOS路径服务区域和使用的Infinite服务区域不一致,则会无法读写跨区域的BOS,导致作业失败。(服务区域Region,参考区域选择说明)
若用户设置BOS路径的Bucket不存在(路径中第一层,示例中的my-bucket,详细参考BOS产品文档),则会导致作业失败。
若用户设置BOS路径的Bucket存在,但Object不存在(路径中第一层之外的,示例中的my-output-dir,详细参考BOS产品文档),则Infinite会自动创建,不会影响作业运行
trainDataURI String 可选 作业的训练数据路径。

用户希望作业读取的输入训练数据,在BOS上的存储路径,如bos:/my-bucket/my-input-data/train-data
绝大部分机器学习作业都需要依赖训练数据作为算法的输入,trainData参数在大部分情况下都是必要的;但例如在已有模型上进行效果评估、批量预测等场景,也可单独作为一次作业不需要训练数据地执行,因此trainData参数是可选项。
需要注意的是:
Infinite会自动将用户设置的训练数据路径,下载到集群的容器环境下的train_data目录,容器环境是算法逻辑的真正执行环境,因此若用户需要在代码或配置中指定训练数据路径,则必须固定为train_data。
若作业是在集群上的多个容器分布式地执行,则单个容器环境下的train_data目录会被自动分配只下载部分训练数据。
testDataURI String 可选 作业的测试数据路径。

用户希望作业读取的输入测试数据,在BOS上的存储路径,如bos:/my-bucket/my-input-data/test-data
testData参数常用于在根据训练数据训练模型的同时,在测试数据上评估效果作为判断收敛条件;在已有模型上评估模型效果,进行批量预测等场景的算法作业。
Infinite会自动将测试数据下载到容器环境下test_data目录,使用方法和自动分配的注意事项和上面训练数据相同。

ClusterConfig

参数名 参数类型 必要性 参数描述 备注
clusterId String 可选 集群ID。Infinite使用的是百度智能云CCE产品提供的集群,clusterId为CCE产品中集群的唯一标志。
默认为default,即Infinite提供的共享集群资源
当前版本仅支持default共享集群资源模式。
wallTime String 可选 作业在集群上的最大运行时间,格式为hh:mm:ss,作业运行超过最大限制时间后会被集群自动杀死。
默认取值为01:00:00,即一个小时。
最大运行时间不包括在集群上的排队时间,从容器实际运行开始计算。
若使用default共享集群资源,wallTime有最大限制。没有特殊申请权限的普通Infinite用户,wallTime不能超过08:00:00

ContainerInfo

参数名 参数类型 参数描述 备注
containerId String 容器Id,容器资源的唯一标志 -
containerStatus String 容器状态,和Kubernetes中Pod的状态信息一致 -
cpuQuota Int 容器的可用CPU核数 -
cpuUsage Float 容器的CPU平均使用率, 范围0-cpuQuota(单核时为0-1),代表CPU核使用量 作业运行中时,为容器的实时使用率;作业结束时,为最终时刻的使用率。
memoryQuota String 容器的可用内存上限 -
memoryUsage String 容器的内存使用量,单位为字节 作业运行中时,为容器的实时使用量;作业结束时,为最终时刻的使用量。
gpuQuota Int 容器可用的GPU卡数 -
gpuUsage List<GpuUseInfo> 容器的GPU使用情况列表,列表元素个数和gpuQuota一致,每个元素为每GPU张卡的使用情况 作业运行中时,为容器的实时使用情况;作业结束时,为最终时刻的使用情况。

ContainerLog

参数名 参数类型 参数描述 备注
timestamp String 该条日志打印的时间戳 -
content String 该条日志的实际内容 -

GpuUseInfo

参数名 参数类型 参数描述