我正在使用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]]
或......
所以问题是如何将float转换为tensor,这将被接受为此自定义丢失函数中的响应?
E.g。类似于return K.new_tensor(0.123)
的东西
(也是我用tensorflow作为后端)
编辑:
我刚刚意识到我的想法在概念上毫无意义。我想申请损失(金额)而不提供任何关于损失函数的信息(即它的衍生物)对于反向传播至关重要,因此它可以知道如何更新权重。