【问题标题】:Too many hyperparameter tuning metrics written out写出的超参数调整指标过多
【发布时间】:2018-08-10 00:02:21
【问题描述】:

Cloud ML Engine 上的超参数调整作业失败并显示错误消息:

Too many hyperparameter tuning metrics were written by Hyperparameter Tuning Trial #...

我该如何解决这个问题?

【问题讨论】:

    标签: tensorflow google-cloud-ml hyperparameters


    【解决方案1】:

    首先检查以确保您确实没有写出过多的评估指标。您是否在 EvalSpec 中指定了适当的节流阀?

    其次,检查损失指标。训练中的损失度量是否与评估中的损失度量相同?如果是这种情况,您的超参数调优工作就会被训练指标弄糊涂。

    最简单的解决方法是定义一个新的评估指标并将该指标(在我的示例中为“rmse”)用作您的超参数标签。

    这是一个显示这两个修复的示例:

    # create metric for hyperparameter tuning
    def my_rmse(labels, predictions):
        pred_values = predictions['predictions']
        return {'rmse': tf.metrics.root_mean_squared_error(labels, pred_values)}
    
    
    # Create estimator to train and evaluate
    def train_and_evaluate(output_dir):
    
        estimator = tf.estimator.DNNLinearCombinedRegressor(...)
    
        estimator = tf.contrib.estimator.add_metrics(estimator, my_rmse)
    
        train_spec = ...
        exporter = ...
        eval_spec = tf.estimator.EvalSpec(
            input_fn = ...,
            start_delay_secs = 60, # start evaluating after N seconds
            throttle_secs = 300,  # evaluate every N seconds
            exporters = exporter)
        tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec)
    

    【讨论】:

      猜你喜欢
      • 2019-03-21
      • 2017-10-26
      • 2020-07-24
      • 1970-01-01
      • 2019-03-08
      • 2021-03-29
      • 2019-09-04
      • 2021-06-08
      • 2021-12-08
      相关资源
      最近更新 更多