Я пишу функцию потерь в Keras для CNN, где я хочу измерить sh высокие значения, которые находятся далеко от центра ядра. Функция будет выглядеть как this .
По сути, я умножаю расстояние до центра ядра (r) на абсолютное значение ядра в этой точке. Моя главная проблема в том, что мне неясно, как перевести это в функцию потери Кераса. Вот что у меня сейчас есть:
def distloss(y_pred):
Lx = K.int_shape(y_pred)[1]
Ly = K.int_shape(y_pred)[2]
loss=0
for a in range(Lx):
for b in range(Ly):
r = np.sqrt((a-Lx//2)**2+(b-Ly//2)**2)
loss += K.exp(r*np.abs(y_pred[a,b]))
return loss
Очевидно, что это неправильно, но я не уверен, что делать. Любая помощь будет оценена!