项目

项目是一类任务的集合。在使用DLS的时候,我们会针对某一个问题创建若干个任务,为了方便管理,您可以将解决某一个问题的多个任务放到特定的项目下。

1.1 新建项目

点击“新建项目”按钮,输入项目名称和项目备注。点击“确定”,项目就创建完成了。点击项目名称进入项目内部,您可以在项目下创建若干个任务。 图片

1.2 修改项目

选中项目,点击“修改”,在弹出框中修改项目名称和项目备注,点击“确定”项目即可修改成功。 图片

1.3 删除项目

DLS支持项目批量删除,删除项目的同时也将删除项目下所有的任务。勾选对应的任务,点击“删除”按钮,在确认询问框中点击“确定”即可删除项目。 图片

任务

任务是DLS最小的运行单元,在任务中,您需要选择任务运行的计算资源,配置任务类型、运行代码、输入输出目录以及其它基础信息。DLS以任务运行资源的使用时长收费。

2.1 新建任务

新建任务需要配置三部分的内容:“计算资源”、“输入输出”以及“基础信息”。

2.1.1 计算资源

计算资源分为两大类:GPU或CPU,两大类资源又分别支持“单机”和“分布式”两种运行模式,您可以根据自己的需求设置相应的资源资源。 图片
资源配置:

  • 单机:节点配置统一为8核CPU,32GB内存,资源类型为GPU时,增加一块GPU。
  • 分布式:系统默认会给任务分配一个ParameterServer节点(即PS节点),PS节点配置为8核CPU,32GB内存。Worker节点配置统一为8核CPU,32GB内存,Worker单节点支持挂载1、2、4块GPU卡。
  • 每个用户总配额:8卡GPU、64核心CPU。如果您有更多的资源需求,请联系我们的客服。

2.1.2 输入输出

DLS任务支持训练任务(Training)和预测任务(Inference),两种任务对应的输入和输出的配置是不一样。
注:

  • 代码由多个文件组成时,需要使用压缩包tar.gz,并需要在“启动代码文件”这一栏输入启动代码文件在压缩包中的相对目录。

  • 分发文件至工作节点本地工作目录缓存:DLS会将您勾选的文件分发至任务运行的各个节点的工作目录,此时您代码中读取本地文件的操作(例如:python的Open操作)可直接进行读写操作。您无需采用tf.gfile方法对所选文件进行读写操作。文件路径地址请采用相对路径
    图片


import os

os.open('./.sparkStaging/application_1507702758078_0455/__spark_conf__3550554787616437055.zip','rb')

在训练任务中,需要配置任务代码、训练数据和模型保存地址。 图片 在预测任务中,需要配置任务代码、模型文件、预测数据和结果输出地址。 图片

2.2 任务详情

DLS提供了任务的详情页,来记录任务的详细信息。点击任务名即可查看。 图片

2.3 任务日志

DLS提供了完整的日志查看功能,点击在任务列表中点击“TrackingUI”查看任务运行的日志信息。 图片

2.4 TensorBoard

DLS提供了TensorBoard,在创建任务时,您需要选择“启用TensorBoard”,并配置TensorBoard的日志输出目录。并在任务运行代码中使用“tb_dir”命令行参数写入日志。 图片 图片

2.5 克隆任务

克隆操作将会创建了一个独立的任务,任务的计算资源、输入输出和基础信息和被克隆的任务一致。当然您可以根据需求进行修改。 为了方便用户进行参数调优,并保留多个任务的运行结果,您可以将需要调整的参数抽象成命令行参数,并使用克隆功能。 注意,在使用克隆任务的时候,强烈建议输出目录或输出文件的命名与上一个任务有所区别,否则上一个任务的运行数据将会被覆盖!

三、任务配额&调度策略

我们为每个用户配置了一定的运行配额,当您提交的多个任务所需的资源超出配额时,任务将会进入等待的队列,按照先进先出的原理调度执行,前面的任务运行完成之后,等待队列中最先创建的将会被优先调度执行。 当前深度学习平台免费使用,所以难免会出现资源负载高的情况,集群会将所有用户的任务按照创建的先后顺序排队,最先创建的将会被优先调度执行。