是否可以在Keras中定义自己的评估函数



根据此线程:https://datascience.stackexchange.com/questions/49109/loss-val-loss-are-decreasing-but-accuracies-are-the-same-in-lstm当我们在Keras中训练神经网络时使用metrics='accuracy',在引擎盖下发生的是:

if metric in ('accuracy', 'acc'):
metric_fn = metrics_module.binary_accuracy

其中

def binary_accuracy(y_true, y_pred):
return K.mean(K.equal(y_true, K.round(y_pred)), axis=-1)

在我的模型中,我处理的是连续数据,对于这些数据,使用不同的评估函数会更适用。有可能将这个预定义的度量更改为自定义的度量吗?

我找到了答案。我们可以定义我们的度量如下:

def my_metric(y_true, y_pred):
...

然后按以下方式使用:

model.compile(optimizer='...', loss='...', metrics=[my_metric])

最新更新