Я пытаюсь настроить параметры с помощью Hyperas, но я не могу интерпретировать некоторые детали относительно этого.
Q1) Что такое параметр max_eval в optim.minimize do?
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)