全部產品
Search
文件中心

Platform For AI:PAI-TF任務參數介紹

更新時間:Jul 26, 2024

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的格式為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

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,即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。

與其他MaxCompute的IO不同,使用OSS需要配置role_arnhost

您可以登入PAI控制台,在全部產品依賴頁面的Designer地區,單擊操作列下的查看授權資訊,擷取role_arn,具體操作請參見雲產品依賴與授權:Designer

checkpointDir

用於指定演算法寫入的OSS bucket。