全部产品
云市场

PAI-TF超参支持

更新时间:2020-02-25 11:55:16

PAI Tensorflow支持用户通过Command或超参txt文件传入相应的超参配置,这样用户可以在做模型试验的时候可以尝试不同的learning rate, batch size等。

1. 超参文件

你可以通过一个本地文件配置相应的超参信息。相应格式如下:

  1. batch_size=10
  2. learning_rate=0.01

假设上面的文件存储在/oss某路径/hyper_para.txt。

我们在Tensorflow Python SDK提供了相应的参数方便你获取相应的超参。你可以通过tf.app.flags.FLAGS读取到你所需要的超参。例如,对于上面的超参定义,你的Python代码可以像下面这样实现:

  1. 1 import tensorflow as tf
  2. 2
  3. 3 tf.app.flags.DEFINE_string("learning_rate", "", "learning_rate")
  4. 4 tf.app.flags.DEFINE_string("batch_size", "", "batch size")
  5. 5
  6. 6 FAGS = tf.app.flags.FLAGS
  7. 7
  8. 8 print("learning rate:" + FAGS.learning_rate)
  9. 9 print("batch size:" + FAGS.batch_size)

接下来,你可以通过-DhyperParameters将超参传入到你运行的脚本中:

  1. odps@ test>pai -name tensorflow -Dscript="file:///tmp/hello_hyperpara.py" -DhyperParameters="oss某路径/hyper_para.txt";

这样,你就能够在你的模型训练文件中读取到相应的超参定义了。

2. 字符串形式参数

PAI Tensorflow也支持以字符串形式传入参数。你可以直接将字符串通过userDefinedParameters传入进来。需要注意kv的格式,每一个kv前面要以“—“作为前缀。

  1. pai -name tensorflow -DuserDefinedParameters="--batch_size=10 --learning_rate=0.01"