本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
PAI-TF是深度学习计算框架,支持多种模型训练。本文为您介绍PAI-TF任务涉及的命令参数和相关IO参数。
公共云GPU服务器即将过保下线,您可以继续提交CPU版本的TensorFlow任务。如需使用GPU进行模型训练,请前往DLC提交任务,具体操作请参见创建训练任务。
PAI-TF命令参数
您可以在Designer的SQL节点、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命令中的name和project为固定值,不可修改。
参数 | 描述 | 示例 | 默认值 | 是否必选 |
script | 用于指定要执行的TF算法脚本,script的格式为 TensorFlow模型文件(python)。文件类型如下:
格式为 |
| 无 | 是 |
entryFile | 如果script是一个tar包,则需通过该参数指定入口脚本。 |
| 如果script是单个脚本,则无需配置该参数。 | 是 |
buckets | 输入bucket。 如果使用多个bucket,则需要以逗号隔开,每个bucket须以 |
| 无 | 否 |
tables | 输入表,如果使用多个表,则需要以逗号隔开。 |
| 无 | 否 |
outputs | 输出表,如果使用多个表,则需要以逗号隔开。 |
| 无 | 否 |
gpuRequired | 该参数决定运行script参数所指定的训练脚本的服务器是否需要GPU。 默认为一张卡,200表示申请2张卡。该功能只适用于单机训练任务,多机任务请参考Cluster。如果不需要使用GPU进行计算,可以将gpuRequired参数值设置为0(该功能只支持TensorFlow1120)。 | 100 | 无 | 否 |
checkpointDir | TF checkpoint目录 |
| 无 | 否 |
cluster | 分布式运行信息,详情请参见下面的分布式命令参数表格。 |
| 无 | 否 |
enableDynamicCluster | 指定是否打开单个worker节点failover的功能。 当该参数设置为true时,worker节点出现故障时会被重新拉起,训练job不会因此而失败。 |
| false | 否 |
jobName | 您需要指定实验名称,用于在后期更好的分析历史所有该实验的性能指标。 参数建议是一个有意义的字符串,避免为 | jk_wdl_online_job | 无 | 是 |
maxHungTimeBeforeGCInSeconds | 提交作业时新增-DmaxHungTimeBeforeGCInSeconds参数,用于设置自动回收需要观察到GPU挂起状态的最大持续时间。 该参数设置为0时,则关闭该功能。 | 3600 | 3600 | 否 |
ossHost | OSS的Endpoint,详情请参见OSS Region和Endpoint对照表。 | oss-cn-beijing-internal.aliyuncs.com | 无 | 否 |
分布式PAI-TF支持cluster参数,您可以通过该参数指定PS和Worker数目。cluster的格式为JSON,引号需要转义,示例如下。
{
"ps": {
"count": 2
},
"worker": {
"count": 4
}
}
其中JSON包含两个key,即ps和worker,每个key又分别包含如下信息。
参数 | 描述 | 默认值 | 是否必选 |
count | ps或worker的数量。 | 无 | 是 |
gpu | ps或worker申请的GPU数量,取值100表示一张GPU卡。如果worker的gpu配置为0,则系统会调度到CPU集群,不消耗GPU,以保障调度。 | ps对应的gpu默认值为0,worker对应的gpu默认值为100。 | 否 |
cpu | ps或worker申请的CPU数量,取值100表示一个CPU核。 | 600 | 否 |
memory | ps或worker申请的内存,取值100表示100 MB。 | 30000 | 否 |
IO参数
IO相关参数如下表所示。
参数 | 描述 |
tables | 用于指定需要读取的Table路径。 |
outputs | 用于指定写入的Table路径,如果需要指定多个路径,可以使用逗号分割。
|
buckets | 用于指定算法将要读取的OSS bucket。 与其他MaxCompute的IO不同,使用OSS需要配置role_arn和host。 您可以登录PAI控制台,在全部产品依赖页面的Designer区域,单击操作列下的查看授权信息,获取role_arn,具体操作请参见云产品依赖与授权:Designer。 |
checkpointDir | 用于指定算法写入的OSS bucket。 |