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