Я хочу добавить потерю восприятия в моей целевой функции к потере MSE. Я написал ниже код для этого:
def custom_objective(y_true, y_pred):
tosub = K.constant([103.939, 116.779, 123.68])
y1 = vgg_model(y_pred * 255. - tosub)
y2 = vgg_model(y_true * 255. - tosub)
loss2 = K.mean(K.square(y2 - y1), axis=-1)
loss1 = K.mean(K.square(y_pred - y_true), axis=-1)
loss = loss1 + loss2
return loss
проблема в том, что форма loss1
похожа на (BatchSize, 224, 224)
, но форма loss2
равна (BatchSize, 7, 7)
, так что это дает мне ошибку о несовместимых формах, что правильно. Я хочу знать, как я могу добавить эти два правильно? я должен разгадать в первую очередь? и как?