我正在使用 keras 构建 NN。我需要制作自定义评估功能(我做了但不完全)。
以下是部分代码:
from keras import backend as K
...
def customized_loss(y_true, y_pred):
loss = K.square(y_true - y_pred)
return K.sum(loss)
...
model.compile(loss=customized_loss, optimizer='adam')
这部分工作得很好,但这并不是我真正需要的。
我希望能够返回,例如0.123
目前,返回的K.sum(loss)
只是一个值(包装在某个张量中)。
不管你把它写下来0.123
或[0.123]
或[[0.123]]
或...
所以问题是如何将浮点数转换为张量,这将在这个自定义损失函数中作为响应被接受?
例如return K.new_tensor(0.123)
(也仅供参考,我使用 tensorflow 作为后端)
编辑:
我刚刚意识到我的想法在概念上毫无意义。我想应用损失(数量)而不提供有关损失函数是什么(即它的导数是什么)的任何信息,这对于反向传播至关重要,因此它可以知道如何更新权重。