【问题标题】:What does max eval parameter in hyperas optim minimize function returns?hyperas optim 最小化函数中的 max eval 参数返回什么?
【发布时间】:2019-06-25 00:52:09
【问题描述】:

我正在尝试使用 Hyperas 调整参数,但我无法解释有关它的一些细节。

Q1) optim.minimize 中的 max_eval 参数是什么?

Q2) 它是否遍历每个 max_eval 的每个参数组合,并根据最佳参数给我最好的损失?

Q3) 如果我给 max_eval = 5 怎么办?

Q4) best_run 和 best_model 在完成所有 max_evals 后返回什么?

Q5) 在模型函数下面我将损失返回为 -test_acc 它与调整参数有什么关系,为什么我们在那里使用负号?

def model(x_train, y_train, x_test, y_test):    

    dense_units1 = {{choice([64, 126, 256, 512])}}
    activations = {{choice(['relu', 'sigmoid'])}}

    epochs  = 100
    verbose = 0

    model = Sequential([
        # layer 1
        Dense(dense_units1, activations, input_shape=(784,)),
               ....
               ....
               ....

    ])
    # compiling model
    model.compile(optimizers, loss='categorical_crossentropy', metrics=['accuracy'])
    # fitting the model
    result = model.fit(x_train, y_train, validation_split=0.2, batch_size=batch_size, 
                        epochs=epochs, verbose=verbose, callbacks=[ES, MC])

    test_loss, test_acc = model.evaluate(x_test, y_test, batch_size=512)

    return {'loss': -test_acc, 'status': STATUS_OK, 'model': model}

best_run, best_model = optim.minimize(model=model, data=dataset, algo=tpe.suggest, 
                                       max_evals=5, 
                                      trials=Trials(), notebook_name='MNIST', 
                                      verbose=True)

【问题讨论】:

    标签: python tensorflow keras hyperas


    【解决方案1】:
    1. max_eval 参数只是优化运行的最大次数。 (例如,如果max_evals = 5,Hyperas 将选择不同的超参数组合 5 次,并针对您选择的 epoch 运行每个组合)

    2. 不,它将为每个max_eval 处理一个超参数组合。超参数的最佳组合将是在完成您在max_eval 参数中给出的所有评估之后。

    3. 在第一季度回答。

    4. 在这种情况下,best_modelbest_run 将返回相同的值。您应该将此添加到您的代码中:

      print('Best performing model chosen hyper-parameters:')
      print(best_run)
      

      这将从它所做的所有运行中打印出最好的超参数。

    【讨论】:

    • best_model 返回什么?
    • 它将返回与答案 4 中所述的 best_run 相同的结果。@MehmedB
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2020-05-17
    • 2016-09-08
    相关资源
    最近更新 更多