我有例如100个样本(100个输出)。我想用" weight"来编写自定义丢失函数。每个样本:
(target[j] - prediction[j])**2 + f(j),
其中f是自定义数字函数(例如j**2
)。我怎样才能做到这一点
现在我只能创造普遍的"损失函数(没有"权重"):
def customloss(target,prediction):
return (target - prediction)**2
问题是我无法获得索引(j)。
答案 0 :(得分:0)
这可能无关紧要,但是您可以使用输入层创建第二个网络。向该输入层传递一个表示权重的数组。
现在包装您的模型:
person2
由于损失函数的输出也是张量,因此可以将weight_layer添加到损失中。 例如:
weight_layer = Input(shape=(None,dim))
m2 = Model(input=[m1.inputs,weight_layer],output=m1.outputs)