我正在尝试为UNET编写自己的损失函数。在这个函数中,我想把y_true
和y_pred
之间大于10的所有差异分配给10,把小于1的所有差异分配给1。有没有比较和分配张量的方便方法
def weighted_cross_entropyy(i):
def loss(y_true, y_pred):
diff = K.abs(y_true - y_pred)
diff[K.less(diff, 1)] == 1
diff[K.greater(diff, 10)] == 10
return K.mean(K.square((y_pred - y_true)* diff), axis= -1)
return loss
我试图解决这个问题,并达到这里,但我仍然收到下面的错误
def加权交叉熵(i):
错误: 对于输入形状为[?,128800],[?,128800]的“loss_6/conv2d_168_loss/case/cond/Switch”(op:“Switch”)的形状,其等级必须为0,但为3
相关问题 更多 >
编程相关推荐