gpt4 book ai didi

python - hyperas optim 中的 max eval 参数最小化函数返回什么?

转载 作者:行者123 更新时间:2023-12-03 12:15:20 26 4
gpt4 key购买 nike

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

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

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

Q3) 如果我给 max_eval = 5 会怎样?

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

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)

最佳答案

  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)

    这将从它进行的所有运行中打印最佳超参数。

关于python - hyperas optim 中的 max eval 参数最小化函数返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56745518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com