PAI-TF任务参数介绍

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

PAI-TF是深度学习计算框架,支持多种模型训练。本文为您介绍PAI-TF任务涉及的命令参数和相关IO参数。

警告

公共云GPU服务器即将过保下线,您可以继续提交CPU版本的TensorFlow任务。如需使用GPU进行模型训练,请前往DLC提交任务,具体操作请参见创建训练任务

PAI-TF命令参数

您可以在DesignerSQL节点、DataWorks SQL节点及MaxCompute的命令行客户端使用PAI命令发起任务,或者直接在Designer中使用封装好的TensorFlow组件。PAI命令及其参数如下。

# 实际使用中,需要根据业务需求设置参数。
pai -name tensorflow1120_ext
    -project algo_public
    -Dscript= 'oss://<bucket_name>.<oss_host>.aliyuncs.com/*.tar.gz'
    -DentryFile='entry_file.py'
    -Dbuckets='oss://<bucket_name>.<oss_host>.aliyuncs.com/<path>'
    -Dtables='odps://prj_name/tables/table_name'
    -Doutputs='odps://prj_name/tables/table_name'
    -DcheckpointDir='oss://<bucket_name>.<oss_host>.aliyuncs.com/<path>'
    -Dcluster="{\"ps\":{\"count\":1},\"worker\":{\"count\":2,\"gpu\":100}}"
    -Darn="acs:ram::******:role/aliyunodpspaidefaultrole"
    -DossHost="oss-cn-beijing-internal.aliyuncs.com"

参数说明如下表所示。

重要

PAI命令中的nameproject为固定值,不可修改。

参数

描述

示例

默认值

是否必选

script

用于指定要执行的TF算法脚本,script的格式为file:///path/to/fileproject_name/resources/resource_namefile:///path/to/file为绝对路径。

TensorFlow模型文件(python)。文件类型如下:

  • 本地文件

  • 本地的tar包(gzip压缩,扩展名为tar.gz)

  • python文件

格式为oss://..aliyuncs.com/.tar.gzoss://..aliyuncs.com/*.py

oss://demo-yuze.oss-cn-beijing-internal.aliyuncs.com/deepfm/deepfm.tar.gz

entryFile

如果script是一个tar包,则需通过该参数指定入口脚本。

main.py

如果script是单个脚本,则无需配置该参数。

buckets

输入bucket。

如果使用多个bucket,则需要以逗号隔开,每个bucket须以/结尾。

oss://..aliyuncs.com/

tables

输入表,如果使用多个表,则需要以逗号隔开。

odps:///tables/

outputs

输出表,如果使用多个表,则需要以逗号隔开。

odps:///tables/

gpuRequired

该参数决定运行script参数所指定的训练脚本的服务器是否需要GPU。

默认为一张卡,200表示申请2张卡。该功能只适用于单机训练任务,多机任务请参考Cluster。如果不需要使用GPU进行计算,可以将gpuRequired参数值设置为0(该功能只支持TensorFlow1120)。

100

checkpointDir

TF checkpoint目录

oss://..aliyuncs.com/

cluster

分布式运行信息,详情请参见下面的分布式命令参数表格

{\"ps\":{\"count\":1},\"worker\":{\"count\":2,\"gpu\":100}}

enableDynamicCluster

指定是否打开单个worker节点failover的功能。

当该参数设置为true时,worker节点出现故障时会被重新拉起,训练job不会因此而失败。

  • true

  • false

false

jobName

您需要指定实验名称,用于在后期更好的分析历史所有该实验的性能指标。

参数建议是一个有意义的字符串,避免为test之类的字符串。

jk_wdl_online_job

maxHungTimeBeforeGCInSeconds

提交作业时新增-DmaxHungTimeBeforeGCInSeconds参数,用于设置自动回收需要观察到GPU挂起状态的最大持续时间。

该参数设置为0时,则关闭该功能。

3600

3600

ossHost

OSSEndpoint,详情请参见OSS RegionEndpoint对照表

oss-cn-beijing-internal.aliyuncs.com

分布式PAI-TF支持cluster参数,您可以通过该参数指定PSWorker数目。cluster的格式为JSON,引号需要转义,示例如下。

{
  "ps": {
    "count": 2
  },
  "worker": {
    "count": 4
  }
}

其中JSON包含两个key,即psworker,每个key又分别包含如下信息。

参数

描述

默认值

是否必选

count

psworker的数量。

gpu

psworker申请的GPU数量,取值100表示一张GPU卡。如果workergpu配置为0,则系统会调度到CPU集群,不消耗GPU,以保障调度。

ps对应的gpu默认值为0,worker对应的gpu默认值为100。

cpu

psworker申请的CPU数量,取值100表示一个CPU核。

600

memory

psworker申请的内存,取值100表示100 MB。

30000

IO参数

IO相关参数如下表所示。

参数

描述

tables

用于指定需要读取的Table路径。

outputs

用于指定写入的Table路径,如果需要指定多个路径,可以使用逗号分割。

  • 非分区表Table路径格式:odps://<prj_name>/tables/<table_name>

  • 分区表Table路径格式:odps://<proj_name>/tables/<table_name>/<pt_key1=v1>

  • 多级分区表Table路径格式:odps://<prj_name>/tables/<table_name>/<pt_key1=v1>/<pt_key2=v2>

buckets

用于指定算法将要读取的OSS bucket。

与其他MaxComputeIO不同,使用OSS需要配置role_arnhost

您可以登录PAI控制台,在全部产品依赖页面的Designer区域,单击操作列下的查看授权信息,获取role_arn,具体操作请参见云产品依赖与授权:Designer

checkpointDir

用于指定算法写入的OSS bucket。