CreateDLJob

创建一个DLJob实例 请求参数:

参数名
类型
可选
说明
project_id str 必须 所属DLProject的ID
name str 必须 任务名称
hardware_mode str 必须 'CPU-ONLY' or 'CPU-GPU'
is_distributed bool 必须 任务模式:分布式,单机
node_num int 可选 节点个数,对于分布式是TF的worker数量,对于单机是1
gpu_num int 可选 每个node节点的GPU数量
job_type str 必须 任务类型:training,inference
code_source str 如果是Tensorflow任务则该项是必须的 源代码地址或者路径
code_main_file str 可选 主程序文件路径
data_dir str 可选 数据文件目录,等价于--data_dir命令行参数,代码中可使用
ckpt_dir str 可选 模型文件目录,等价于--model_dir命令行参数,代码中可使用
output_dir str 可选 输出文件目录,等价于--ouput_dir命令行参数,代码中可使用
cmdline_args list of str 可选 任务启动参数命,类似:'maxtSteps=10000',代码中可使用
is_tensorboard bool 如果是Tensorflow任务则该项是必须的 是否需要启动TensorBoard服务
tensorboard_log_dir str 可选 TensorBoard的events 文件目录,等价于--tb_dir命令行参数,代码中可使用
is_auto_start bool 必须 是否创建后自动启动
notice_id int 可选 任务完成后通知用户的UID
job_category str 可选 深度学习框架,tfos | cos 分别代表TensorFlow | Caffe,当前默认开放tfos
distribute_files list of str 可选 需要分发至工作节点工作目录临时缓存的文件,使用json的数组表示,例如:
["hdfs://directory/file",
 "hdfs://directory/subdirectory"]
description str 可选 任务描述
image_id str 可选 指定运行的Docker镜像ID
cos_solver_file str 如果是Caffe的training任务,则是必须的 Caffe solver的hdfs地址
cos_inference_iteration str 如果是Caffe的inference任务,则是必须的 Caffe inference任务的iteration 值
cos_inference_net_file str 如果是Caffe的inference任务,则是必须的 Caffe inference 任务的模型地址(对应caffe的 net file)

返回数据:

参数名
类型
可选
说明
project_id str 必须 所属DLProject的ID
name str 必须 任务名称
hardware_mode str 必须 'CPU-ONLY' or 'CPU-GPU'
is_distributed bool 必须 任务模式:分布式,单机
node_num int 可选 节点个数,对于分布式是TF的worker数量,对于单机是1
gpu_num int 可选 每个node节点的GPU数量
job_type str 必须 任务类型:training,inference
code_source str 必须 源代码地址或者路径
code_main_file str 可选 主程序文件路径
data_dir str 可选 数据文件目录,等价于--data_dir命令行参数,代码中可使用
ckpt_dir str 可选 模型文件目录,等价于--model_dir命令行参数,代码中可使用
output_dir str 可选 输出文件目录,等价于--ouput_dir命令行参数,代码中可使用
cmdline_args list of str 可选 任务启动参数命,类似:'maxtSteps=10000',代码中可使用
is_tensorboard bool 必须 是否需要启动TensorBoard服务
tensorboard_log_dir str 可选 TensorBoard的events 文件目录,等价于--tb_dir命令行参数,代码中可使用
is_auto_start bool 必须 是否创建后自动启动
notice_id int 可选 任务完成后通知用户的UID
job_category str 可选 深度学习框架,tfos | cos 分别代表TensorFlow | Caffe,当前默认开放tfos
distribute_files list of str 可选 需要分发至工作节点工作目录临时缓存的文件,使用json的数组表示,例如:
["hdfs://directory/file",
 "hdfs://directory/subdirectory"]
description str 可选 任务描述
image_id str 可选 指定运行的Docker镜像ID
cos_solver_file str 如果是Caffe的training任务,则是必须的 Caffe solver的hdfs地址
cos_inference_iteration str 如果是Caffe的inference任务,则是必须的 Caffe inference任务的iteration 值
cos_inference_net_file str 如果是Caffe的inference任务,则是必须的 Caffe inference 任务的模型地址(对应caffe的 net file)

示例: json响应

{
    "CreateDLJobResponse": {
        "DLJob": {
        "id": "b4d7e2ce-a222-403e-a7e9-3de0f7dbf9c5",
        "name": "mnist-001",
        "project_id": "a5b6x2ce-a221-404e-a8e9-3dx0f7dbf8b3",
        "project_name": "MNIST",
        "description": "first mnist job",
        "status": "running",
        "hardware_mode": "CPU-GPU",
        "is_distributed": True,
        "node_num": 3,
        "gpu_num": 2,
        "job_type": "training",
        "code_source": "hdfs://xxx/mnist.zip",
        "code_main_file": "main.py",
        "data_dir": "hdfs://xxx/data/",
        "ckpt_dir": "hdfs://xxx/ckpt/",
        "output_dir": "hdfs://xxx/output/",
        "cmdline_args": "--n_epoch 10 --lr 0.01",
        "is_tensorboard": True,
        "tensorboard_log_dir": "hdfs://xxx/tb/log_dir/",
        "is_auto_start": True,
        "notice_uid": 10086,
        "ps_num": 0,
        "running_time": 10,
        "zone_id": "c76a6cd7-dc15-46c6-95a2-3bff38116eff",
        "job_category": "tfos",
        "distribute_files":[
                  "hdfs://directory/file",
                  "hdfs://directory/subdirectory"
         ],
        "created_at": "2016-09-02T07:10:47Z",
        "billing_type": "post_pay"
        "image_id": "mos-tensorflow1.1.0-cudnn5-cuda8.0-centos7"
        }
    }
}

UpdateDLJob

修改某一个DLJob实例 请求参数:

参数名 类型 可选 说明
id str 必须 DLJob的ID
name str 可选 任务名称
description str 可选 任务描述
hardware_mode str 可选 'CPU-ONLY' or 'CPU-GPU'
is_distributed bool 可选 任务模式:分布式,单机
node_num int 可选 节点个数,对于分布式是TF的worker数量,对于单机是1
gpu_num int 可选 每个node节点的GPU数量
job_type str 可选 任务类型:training,inference
code_source str 可选 源代码地址或者路径
code_main_file str 可选 主程序文件路径
data_dir str 可选 数据文件目录,等价于--data_dir命令行参数,代码中可使用
ckpt_dir str 可选 模型文件目录,等价于--model_dir命令行参数,代码中可使用
output_dir str 可选 输出文件目录,等价于--ouput_dir命令行参数,代码中可使用
cmdline_args list of str 可选 任务启动参数命,类似:'maxtSteps=10000',代码中可使用
is_tensorboard bool 必须 是否需要启动TensorBoard服务
tensorboard_log_dir str 可选 TensorBoard的events 文件目录,等价于--tb_dir命令行参数,代码中可使用
is_auto_start bool 可选 是否创建后自动启动
notice_id int 可选 任务完成后通知用户的UID
job_category str 可选 深度学习框架,tfos | cos 分别代表TensorFlow | Caffe,当前默认开放tfos
distribute_files list of str 可选 需要分发至工作节点工作目录临时缓存的文件,使用json的数组表示,例如:
["hdfs://directory/file",
 "hdfs://directory/subdirectory"]
image_id str 可选 指定运行的Docker镜像ID
cos_solver_file str 如果是Caffe的training任务,则是必须的 Caffe solver的hdfs地址
cos_inference_iteration str 如果是Caffe的inference任务,则是必须的 Caffe inference任务的iteration 值
cos_inference_net_file str 如果是Caffe的inference任务,则是必须的 Caffe inference 任务的模型地址(对应caffe的 net file)

返回数据:

字段名 类型 说明
id str 任务ID
name str 任务名称
project_id str 所属DLProject的ID
project_name str 所属DLProject的名称
description str 项目描述
status str 任务状态
hardware_mode str 'CPU-ONLY' or 'CPU-GPU'
is_distributed bool 任务模式:分布式,单机
node_num int 节点个数,对于分布式是TF的worker数量,对于单机是1
gpu_num int 每个node节点的GPU数量
job_type str 任务类型:training,inference
code_source str 源代码地址或者路径
code_main_file str 主程序文件路径
data_dir str 数据文件目录,等价于--data_dir命令行参数,代码中可使用
ckpt_dir str 模型文件目录,等价于--model_dir命令行参数,代码中可使用
output_dir str 输出文件目录,等价于--ouput_dir命令行参数,代码中可使用
cmdline_args list of str 任务启动参数命,类似:'--maxtSteps=10000',代码中可使用
is_tensorboard bool 是否需要启动TensorBoard服务
tensorboard_log_dir str TensorBoard的events 文件目录,等价于--tb_dir命令行参数,代码中可使用
is_auto_start bool 是否创建后自动启动
notice_id int 任务完成后通知用户的UID
ps_num int Parameter Server的个数
running_time int 任务已经运行的时间,单位为秒
job_category str 深度学习框架,tfos | cos 分别代表tensorflow | caffe,当前默认仅开放tfos
distribute_files list of str 需要分发至工作节点工作目录临时缓存的文件,使用json的数组表示,例如:
["hdfs://directory/file",
 "hdfs://directory/subdirectory"]
created_at str 创建时间
billing_type str 计费类型,目前为“post_pay”
zone_id str 机房id
image_id str 运行的Docker镜像ID
cos_solver_file str Caffe solver的hdfs地址
cos_inference_iteration str Caffe inference任务的iteration 值
cos_inference_net_file str Caffe inference 任务的模型地址(对应caffe的 net file)

示例: json响应

{
    "UpdateDLJobResponse": {
        "DLJob": {
        "id": "b4d7e2ce-a222-403e-a7e9-3de0f7dbf9c5",
        "name": "mnist-001-修改版",
        "project_id": "a5b6x2ce-a221-404e-a8e9-3dx0f7dbf8b3",
        "project_name": "MNIST",
        "description": "first mnist job",
        "status": "running",
        "hardware_mode": "CPU-GPU",
        "is_distributed": True,
        "node_num": 3,
        "gpu_num": 2,
        "job_type": "training",
        "code_source": "hdfs://xxx/mnist.zip",
        "code_main_file": "main.py",
        "data_dir": "hdfs://xxx/data/",
        "ckpt_dir": "hdfs://xxx/ckpt/",
        "output_dir": "hdfs://xxx/output/",
        "cmdline_args": "--n_epoch 10 --lr 0.01",
        "is_tensorboard": True,
        "tensorboard_log_dir": "hdfs://xxx/tb/log_dir/",
        "is_auto_start": True,
        "notice_uid": 10086,
        "ps_num": 0,
        "running_time": 10,
        "zone_id": "c76a6cd7-dc15-46c6-95a2-3bff38116eff",
        "job_category": "tfos",
        "distribute_files":[
                  "hdfs://directory/file",
                  "hdfs://directory/subdirectory"
         ],
        "created_at": "2016-09-02T07:10:47Z",
        "billing_type": "post_pay"
        "image_id": "mos-tensorflow1.1.0-cudnn5-cuda8.0-centos7"
        }
    }
}

DeleteDLJob

删除某一个DLJob实例 请求参数:

参数名类型可选说明
idstr必须DLJob的ID

DescribeDLJobs

获取某个DLProject下的某些DLJob信息 请求参数:

参数名类型可选说明
project_idstr必须所属DLProject的ID
limitint可选每次返回数量限制
offsetint可选当前起始条目偏移量
DLJobIds.nstr可选

指定DLJob信息查询返回,n从1开始,如DLJobIds.1=

a754dbb9-7cd4-4381-adc9-7236e5560699

返回数据:

字段名类型说明
Totalint总共记录数
Limitint每次返回条目数
Offsetint当前起始条目偏移量
DLJob实例
字段名类型说明
idstr任务ID
namestr任务名称
project_idstr所属DLProject的ID
project_namestr所属DLProject的名称
descriptionstr项目描述
statusstr任务状态
hardware_modestr'CPU-ONLY' or 'CPU-GPU'
is_distributedbool任务模式:分布式,单机
node_numint节点个数,对于分布式是TF的worker数量,对于单机是1
gpu_numint每个node节点的GPU数量
job_typestr任务类型:training,inference
code_sourcestr源代码地址或者路径
code_main_filestr主程序文件路径
data_dirstr数据文件目录,等价于--data_dir命令行参数,代码中可使用
ckpt_dirstr模型文件目录,等价于--model_dir命令行参数,代码中可使用
output_dirstr输出文件目录,等价于--ouput_dir命令行参数,代码中可使用
cmdline_argslist of str任务启动参数命,类似:'--maxtSteps=10000',代码中可使用
is_tensorboardbool是否需要启动TensorBoard服务
tensorboard_log_dirstrTensorBoard的events 文件目录,等价于--tb_dir命令行参数,代码中可使用
is_auto_startbool是否创建后自动启动
notice_idint任务完成后通知用户的UID
ps_numintParameter Server的个数
running_timeint任务已经运行的时间,单位为秒
job_categorystr深度学习框架,tfos | cos 分别代表tensorflow | caffe,当前默认仅开放tfos
distribute_fileslist of str需要分发至工作节点工作目录临时缓存的文件,使用json的数组表示,例如:
["hdfs://directory/file",
 "hdfs://directory/subdirectory"]
created_atstr创建时间
billing_typestr计费类型,目前为“post_pay”
zone_idstr机房id

示例: json响应

{
    "DescribeDLJobsResponse": {
        "DLJobSet": {
            "DLJob": [
                {
                    "id": "b4d7e2ce-a222-403e-a7e9-3de0f7dbf9c5",
                    "name": "mnist-001",
                    "project_id": "a5b6x2ce-a221-404e-a8e9-3dx0f7dbf8b3",
                    "project_name": "MNIST",
                    "description": "first mnist job",
                    "status": "running",
                    "hardware_mode": "CPU-GPU",
                    "is_distributed": True,
                    "node_num": 3,
                       "gpu_num": 2,
                    "job_type": "training",
                    "code_source": "hdfs://xxx/mnist.zip",
                    "code_main_file": "main.py",
                    "data_dir": "hdfs://xxx/data/",
                    "ckpt_dir": "hdfs://xxx/ckpt/",
                    "output_dir": "hdfs://xxx/output/",
                    "cmdline_args": "--n_epoch 10 --lr 0.01",
                    "is_tensorboard": True,
                    "tensorboard_log_dir": "hdfs://xxx/tb/log_dir/",
                    "is_auto_start": True,
                    "notice_uid": 10086,
                    "ps_num": 0,
                    "running_time": 10,
                    "zone_id": "c76a6cd7-dc15-46c6-95a2-3bff38116eff",
                    "job_category": "tfos",
                    "distribute_files":[
                              "hdfs://directory/file",
                              "hdfs://directory/subdirectory"
                     ],
                    "created_at": "2016-09-02T07:10:47Z",
                    "billing_type": "post_pay"
                },
                {
                    "id": "a5b6x2ce-a221-404e-a8e9-3dx0f7dbf8b3",
                    "name": "mnist-002",
                    "project_id": "a5b6x2ce-a221-404e-a8e9-3dx0f7dbf8b3"
                    "description": "第二个任务",
                    "job_type": "training",
                    "status": "submitted-s1",
                    "is_tensorboard": True,
                    "running_time": 0,
                    "job_category": "tfos",
                    "created_at": "2016-09-02T07:10:47Z",
                    "billing_type": "postpay",
                }
            ],
            "Total": 2,
            "Limit": 10,
            "Offset": 1
        }
    }
}

SubmitDLJob

提交启动一个DLJob实例 请求参数:

参数名类型可选说明
idstr必须任务ID

请求URL示例:

https://mosapi.meituan.com/mcs/v1?
    SignatureVersion=2&AWSAccessKeyId=d1788976f4b34ba18d7c98ede33f67e9&Format=json&
    Timestamp=2016-09-05T07%3A16%3A45.000Z&idstr=b4d7e2ce-a222-403e-a7e9-3de0f7dbf9c5&SignatureMethod=HmacSHA256&
    Signature=pC%2BhQsj97z0Rd6qk%2F2mvRM69neeUyujMHGKghFvt38U%3D&Action=SubmitDLJob 

StopDLJob

停止一个DLJob实例 请求参数:

参数名类型可选说明
idstr必须任务ID

请求URL示例:

https://mosapi.meituan.com/mcs/v1?
    SignatureVersion=2&AWSAccessKeyId=d1788976f4b34ba18d7c98ede33f67e9&Format=json&
    Timestamp=2016-09-05T07%3A16%3A45.000Z&idstr=b4d7e2ce-a222-403e-a7e9-3de0f7dbf9c5&SignatureMethod=HmacSHA256&
    Signature=%2BWLnIg2y2g9gEM2umvOUXPPQl2UTFLrEBIigAugI%2FeY%3D&Action=StopDLJob