我正在尝试在Keras中定义自定义丢失函数,其中我有一个额外的术语,它是神经网络输出域的一个整体。所以这看起来像:
关键是整数运行在我指定的整个域上,而不仅仅是训练数据。我不介意使用任何形式的积分来评估积分,我只需要能够对其进行评估。目前,就文档所示,这不可能与自定义丢失相关,因为它只提供对y_pred
和y_true
的访问权限。
在Keras有没有办法实现这一目标?
答案 0 :(得分:-1)
如果想法只是定义额外的变量,你可以使用keras后端函数在内部(本地)或外部(全局)损失函数中执行此操作:
import keras.backend as K
myDomain = K.variable(range(100)) / 10 #for instance
def custom_loss(y_true,y_pred):
localVar = K.variable([[1,2],[3,1]])
return calculationsWith(y_true,y_pred,localVar,myDomain)
使用来自后端的功能进行计算非常重要。 (来自K
或直接来自tensoflow,theano或CNTK)。