我可以在没有训练过程的情况下使用 keras.losses.binary_crossentropy(y_true,y_pred) 吗?

Can I use keras.losses.binary_crossentropy(y_true,y_pred) without training process?

我是 Keras 的新手。我想知道某些实例的丢失。所以我得到了这些数据实例的y_true和y_pred。我想调用损失函数计算损失但只得到Tensor("Mean_5:0",shape=(),dtype=float32)。我如何评估张量的值?调用los.eval()是不是类似于tensorflow?

y_pred 的计算公式为:

y_pred = self.model.predict(x, batch_size=self.batch_size)

y_true也是一个可用列表。

如何使用binary_crossentropy()?

你几乎已经有了答案。

from keras import backend
from keras.losses import binary_crossentropy
y_true = backend.variable(y_true)
y_pred = backend.variable(y_pred)
# calculate the average cross-entropy
mean_ce = backend.eval(binary_crossentropy(y_true, y_pred))
print('Average Cross Entropy: %.3f nats' % mean_ce)