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 |
|
|
无 |
是/否 |
|
buckets |
输入bucket。 如果使用多个bucket,则需要以逗号隔开,每个bucket须以 |
|
无 |
否 |
|
tables |
输入表,如果使用多个表,则需要以逗号隔开。 |
|
无 |
否 |
|
outputs |
输出表,如果使用多个表,则需要以逗号隔开。 |
|
无 |
否 |
|
gpuRequired |
该参数决定运行script参数所指定的训练脚本的服务器是否需要GPU。 默认为一张卡,200表示申请2张卡。该参数仅适用于单机训练任务,对于多机任务,请使用Cluster参数来配置GPU。如果不需要使用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。 |