附录(对象定义)

工作区相关

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

参数名 参数类型 参数描述 备注
type String GPU卡的型号信息 -
usage Float GPU卡的利用率,范围0-100 作业运行中时,为容器的实时使用率;作业结束时,为最终时刻的使用率。
memoryUsage Float GPU显存的利用率,范围0-100 作业运行中时,为容器的实时使用率;作业结束时,为最终时刻的使用率。

JobImage

作业类型 说明
paddle-fluid-v0.14 PaddlePaddle计算框架的Fluid版本,也叫V3版本
对应github release版本号0.14: https://github.com/PaddlePaddle/Paddle/releases/tag/v0.14.0
tensorflow-v1.9.0 Tensorflow 1.9.0版本
对应github release: https://github.com/tensorflow/tensorflow/releases/tag/v1.9.0

Priority

集群优先级 说明
high 高优先级
normal 普通
low 低优先级

JobStatus

集群优先级 说明
submit 已提交,作业创建成功。
schedule 调度中,作业被Infinite调度中,等待被提交到集群上。
queue 排队中,作业成功提交到集群上,等待集群分配容器资源运行。
当集群容器资源不足时,作业可能长时间处于排队中状态,直到有作业结束释放足够的容器资源。
running 运行中,作业正在集群容器上执行用户定义的算法逻辑。
success 运行成功,作业成功结束。
fail 运行失败,作业失败结束。
killing 终止中,用户发起终止操作,等待Infinite进行终止作业。
killed 已终止,用户发起终止操作,Infinite完成终止作业。

JobEnv

JobEnv为Infinite提供的环境变量,用户在编写集群容器中运行的算法逻辑代码时,可以直接使用这部分环境变量。

预测期

ImageConf

配置名称 类型 描述
imageId string 镜像配置唯一ID
imageName string 镜像配置名称

ModelConf

参数名 类型 描述
modelConfigId string 预测模型ID
modelConfigName string 预测模型名称
modelConfigDescription string 备注
modelURI string 模型文件
createTime string 模型创建时间

ResourceConf

配置名称 类型 描述
resourceConfigId string 资源配置ID
resourceConfigName string 资源配置名称
resourceConfigDescription string 备注

ModelExtraInfo

当 ModelFormat 为 tensorRT-v4_uff 时,需要以下 extra info

配置名称 类型 描述
inputTensorName string 输入 tensor 的名称
inputTensorDimChannel int 输入 tensor 的通道数
inputTensorDimHeight int 输入 tensor 的高度
inputTensorDimWidth int 输入 tensor 的宽度
outputTensorName string 输出 tensor 的名称

EndpointConf

配置名称 类型 描述
endpointConfigId string 端点配置ID
endpointConfigName string 端点配置名称
endpointConfigDescription string 备注
etag string etag
createTime string 当前配置第一次创建时间
modifyTime string 当前配置最后一次修改时间

VariantConf

配置名称 类型 描述
varConfigName string 变体配置名称
varConfigDescription string 实体配置描述
modelConfigId string 预测模型ID
resourceConfigId string 资源配置ID
weight float 流量分配权重
instanceCount int 期望部署实例数量

VariantConfInfo

配置名称 类型 描述
varConfigId string 变体配置Id
varConfigName string 变体配置名称
varConfigDescription string 变体配置描述
instanceCount int 期望部署实例数量
weight float 流量分配权重
modelConfigId string 预测模型ID
modelConfigName string 预测模型名称
resourceConfigId string 资源配置ID
resourceConfigName string 资源配置名称
createTime string 创建时间
modifyTime string 更新时间

Endpoint

配置名称 类型 描述
endpointId string 端点实例ID
endpointName string 端点实例name
status int 当前状态StatusCode
statusUpdateTime string 状态更新时间
entry string 端点请求地址
createTime string 创建时间
modifyTime string 更新时间

Varian

配置名称 类型 描述
variantId string 变体ID
currentInstanceCount int 当前运行实例数量
currentWeight float 当前流量分配权重
desiredInstanceCount int 目标运行实例数量
desiredWeight float 目标流量分配权重
createTime string 变体创建时间

FullVariant

配置名称 类型 描述
variantId string 变体Id
varaintConfigId string 变体配置Id
varaintConfigName string 变体配置名称
modelConfigId string 模型Id
modelConfigName string 模型名称
resourceConfigId string 资源套餐Id
resourceConfigName string 资源套餐名称
currentInstanceCount int 当前运行实例数量
currentWeight float 当前流量分配权重
desiredInstanceCount int 目标运行实例数量
desiredWeight float 目标流量分配权重
createTime string 变体创建时间

HistoryOperation

配置名称 类型 描述
startTime string 开始时间
finishTime string 结束时间
operationType int 操作类型
result string 结果

VariantWeightCapacity

配置名称 类型 描述
variantId string 变体配置Id
weight float 期望流量分配权重
instanceCount int 期望部署实例数量

StatusCode

code 描述 状态类型 支持操作
0 创建中 处理中
1 服务中 正常 更新、 删除
2 创建失败 异常 删除、重新创建
3 更新中 处理中
4 更新失败 异常 删除、重试、 回滚
5 回滚中 处理中
6 删除中 处理中
7 已删除 正常
8 已停止 正常 重新创建、删除
9 删除失败 异常 删除
10 回滚失败 异常 回滚、 删除
11 停止中 处理中
12 停止失败 异常 删除