超参数调整时,Google Cloud ML Engine不会返回目标值

时间:2018-05-01 05:07:28

标签: tensorflow google-cloud-ml

在Google Cloud ML Engine上的超参数调整作业的训练输出中,我没有看到为每个试验计算的目标值。培训输出如下:

    {
  "completedTrialCount": "4",
  "trials": [
    {
      "trialId": "2",
      "hyperparameters": {
        "learning-rate": "0.0010000350944297609"
      }
    },
    {
      "trialId": "3",
      "hyperparameters": {
        "learning-rate": "0.0053937227881987841"
      }
    },
    {
      "trialId": "4",
      "hyperparameters": {
        "learning-rate": "0.099948384760813816"
      }
    },
    {
      "trialId": "1",
      "hyperparameters": {
        "learning-rate": "0.02917661111653325"
      }
    }
  ],
  "consumedMLUnits": 0.38,
  "isHyperparameterTuningJob": true
}

超参数调整作业似乎正确运行并在作业旁边显示绿色复选标记。但是,我预计我会在训练输出中看到每个试验的目标函数的值。没有这个,我不知道哪个试验最好。我试图将目标的值添加到摘要图中,如下所示:

with tf.Session() as sess:
    ...
    final_cost = sess.run(tf.reduce_sum(tf.square(Y-y_model)), feed_dict={X: trX, Y:trY})
    summary = Summary(value=[Summary.Value(tag='hyperparameterMetricTag', simple_value=final_cost)])
    summary_writer.add_summary(summary)
    summary_writer.flush()

我相信我已按照文档中讨论的所有步骤来设置超参数调整作业。还有什么需要确保我得到一个输出,让我比较不同的试验?

1 个答案:

答案 0 :(得分:2)

请问您是否可以在tensorboard上找到hyperparameterMetricTag的值,以确保正确报告指标?并且请确保在作业请求(HyperparameterSpec)和代码中指定相同的hyperparameterMetricTag名称(在您的情况下是它的hyperparameterMetricTag)。