KerasTuner自定义目标函数

2024-05-04 18:54:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Keras调谐器进行超参数微调。我想最大化auc。有人能帮我使用kerastuner.Objective作为自定义指标吗

EXECUTIONS_PER_TRIAL = 5

b_tuner = BayesianOptimization(
    tune_nn_model,
    objective='val_binary_accuracy',
    max_trials=MAX_TRIALS,
    executions_per_trial=EXECUTIONS_PER_TRIAL,
    directory='test_dir101897',
    project_name='b_tune_nn',
    seed=12347
)

我尝试定义一个自定义函数,如:

from sklearn import metrics
from keras import backend as K

def auc(y_true, y_pred):
    auc = tf.metrics.auc(y_true, y_pred)[1]
    K.get_session().run(tf.local_variables_initializer())
    return auc

然后插上电源

objective='val_auc'

但这是行不通的


Tags: fromimporttruetfvalnnkerasmetrics