Python 用于计算非零值或一值的自定义keras损失函数

Python 用于计算非零值或一值的自定义keras损失函数,python,tensorflow,keras,loss-function,Python,Tensorflow,Keras,Loss Function,我在Keras中有一个成本函数,它有3个部分与我的网络的不同输出相关。假设这是我的损失函数: aL1+bL2+cL3L1是mse,L2是二进制交叉熵,L3尝试使输出中没有值0或1的像素数最小(∑n(x)≠0或x≠1) ),但我不知道如何实现最后一次丢失功能?!(a、b和c是每个损失函数的系数) 输出应为值为0或1的28x28二进制图像。通过将这一项添加到损失函数中,我试图强制输出为0或1,而其他值试图放入这两个类中的一个。但是我不知道如何产生这个损失函数,或者我有这些损失函数的组合?如果我只有两

我在Keras中有一个成本函数,它有3个部分与我的网络的不同输出相关。假设这是我的损失函数:

aL1+bL2+cL3
L1是mse,L2是二进制交叉熵,L3尝试使输出中没有值
0
1的像素数最小(∑n(x)≠0或x≠1) )
,但我不知道如何实现最后一次丢失功能?!(a、b和c是每个损失函数的系数)

输出应为值为0或1的28x28二进制图像。通过将这一项添加到损失函数中,我试图强制输出为0或1,而其他值试图放入这两个类中的一个。但是我不知道如何产生这个损失函数,或者我有这些损失函数的组合?如果我只有两个第一损失函数,我就这样做

model.compile(optimizer=opt, loss=`{'decoder_output':'mse','reconstructed_W':'binary_crossentropy'}, loss_weights={'decoder_output': 0.1, 'reconstructed_W': 1.0},metrics=['mae'])` 

第三个损失与
重构w
有关,我想强制其值仅为0或1,但我不知道如何对其进行编码。你能帮我解决这个问题吗?我感谢你的帮助。我真的需要你的指导。

你能帮我解决这个问题吗?我很困惑,不知道该怎么办?你能帮我解决这个问题吗?我很困惑,不知道该怎么办?