PAI-TF超參支持
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
PAI-TF支持通過(guò)超參TXT文件或Command傳入相應(yīng)的超參配置,從而在模型試驗(yàn)時(shí)可以嘗試不同的Learning Rate及Batch Size等。
公共云GPU服務(wù)器即將過(guò)保下線,您可以繼續(xù)提交CPU版本的TensorFlow任務(wù)。如需使用GPU進(jìn)行模型訓(xùn)練,請(qǐng)前往DLC提交任務(wù),具體操作請(qǐng)參見(jiàn)創(chuàng)建訓(xùn)練任務(wù)。
超參文件
您可以通過(guò)一個(gè)本地文件配置相應(yīng)的超參信息,格式如下。
batch_size=10
learning_rate=0.01
TensorFlow Python SDK提供了相應(yīng)的參數(shù)以便獲取相應(yīng)的超參,您可以通過(guò)tf.app.flags.FLAGS
讀取所需的超參,再將其傳入運(yùn)行腳本中,即可在模型訓(xùn)練文件中讀取到相應(yīng)的超參定義。具體方法如下:
假設(shè)上面定義的超參文件存儲(chǔ)在oss://xxx.oss-cn-beijing.aliyuncs.com/tf/hyper_para.txt,參考如下Python代碼讀取超參。
import tensorflow as tf tf.app.flags.DEFINE_string("learning_rate", "", "learning_rate") tf.app.flags.DEFINE_string("batch_size", "", "batch size") FAGS = tf.app.flags.FLAGS print("learning rate:" + FAGS.learning_rate) print("batch size:" + FAGS.batch_size)
通過(guò)
-DhyperParameters
將超參傳入到運(yùn)行腳本中,示例如下。pai -name tensorflow1120_ext -Dscript='oss://xxx.oss-cn-beijing.aliyuncs.com/tf/hello_hyperpara.py' -Dbuckets='oss://xxx.oss-cn-beijing.aliyuncs.com/' -DhyperParameters='oss://xxx.oss-cn-beijing.aliyuncs.com/tf/hyper_para.txt' -Darn='acs:ram::111***:role/***role';
字符串形式參數(shù)
PAI-TF也支持以字符串形式傳入?yún)?shù),您可以直接將字符串通過(guò)userDefinedParameters
傳入,示例如下。
pai -name tensorflow1120_ext
-Dscript='oss://xxx.oss-cn-beijing.aliyuncs.com/tf/hello_hyperpara.py'
-Dbuckets='oss://xxx.oss-cn-beijing.aliyuncs.com/'
-DuserDefinedParameters="--batch_size=10 --learning_rate=0.01"
-Darn='acs:ram::111***:role/***role';
以字符串傳入的參數(shù),使用KV格式,每一個(gè)KV前面需要以“--”作為前綴。