Я бы, вероятно, избавился от оператора tf.cond
, поскольку вы можете делать то, что вы хотите, используя простую арифметику c:
def loss(y_true, y_pred):
reconstruction_loss = binary_crossentropy(y_true, y_pred)
binary_neck_loss = tf.abs(0.5 - tf.abs(0.5 - neckLayer.output))
return reconstruction_loss + (K.mean(binary_neck_loss , axis=-1) * weight)
Конечно, я не знаю точно форму ваших данных, но вы должны быть в состоянии экстраполировать оттуда.