Я знаю, что лучше избегать l oop в Keras
пользовательской функции потерь, но я думаю, что должен это сделать. Проблема заключается в следующем: я пытаюсь реализовать функцию потерь, которая вычисляет значение потерь для нескольких групп данных, а затем объединяет эти значения в уникальное значение.
Например, у меня 6 записей, поэтому в моей потере Keras
у меня будет 6 y_true
и 6 y_pred
. Я хочу вычислить 2 значения потерь: один для первых 3 элементов и один для последних 3 элементов.
Пример гипотетического кода:
def custom_loss(y_true, y_pred):
start_range = 0
losses = []
for index in range(0,2):
end_range = start_range + 3
y_true_bunch = y_true[start_range:end_range]
y_pred_bunch = y_pred[start_range:end_range]
loss_value = ...some processing on bunches...
losses.append(loss_value)
start_range = end_range
final_loss = ...aggregate loss_value...
return final_loss
Возможно ли достичь чего-то подобного ? Мне нужно обработать весь набор данных и рассчитать потери для нескольких сгустков, а затем объединить все значения сгустков в одно значение.