PAI-TF支持通过超参TXT文件或Command传入相应的超参配置,从而在模型试验时可以尝试不同的Learning Rate及Batch Size等。

超参文件

您可以通过一个本地文件配置相应的超参信息,格式如下。
batch_size=10
learning_rate=0.01
TensorFlow Python SDK提供了相应的参数以便获取相应的超参,您可以通过tf.app.flags.FLAGS读取所需的超参,再将其传入运行脚本中,即可在模型训练文件中读取到相应的超参定义。具体方法如下:
  1. 假设上面定义的超参文件存储在/oss/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)
  2. 通过-DhyperParameters将超参传入到运行脚本中,示例如下。
    odps@ test>pai -name tensorflow -Dscript="file:///tmp/hello_hyperpara.py" -DhyperParameters="oss/hyper_para.txt";

字符串形式参数

PAI-TF也支持以字符串形式传入参数,您可以直接将字符串通过userDefinedParameters传入,示例如下。
pai -name tensorflow -DuserDefinedParameters="--batch_size=10 --learning_rate=0.01"
说明 以字符串传入的参数,使用KV格式,每一个KV前面需要以“--”作为前缀。