потеря валидации и данные валидации модели с несколькими выходами в Керасе

Я хочу обучить модель с одним входом и двумя выходами в Keras, но у меня есть пара проблем с настройкой проверок.

1) В документации по функциональному API Keras говорится, что model.fit может принимать список массивов numpy как вывод при наличии нескольких выходов. Однако для аргумента validation_data в model.fit говорится, что модель может принимать кортеж в форме (x_val, y_val) или (x_val, y_val, val_sample_weights). Тогда как я могу передать y_val моего второго вывода? Смогу ли я сделать это с помощью validation_split или разделение валидации будет применяться только к одному из моих выходов?

2) Каковы будут потери проверки, которые будут переданы в обратный вызов EarlyStopping? Для потерь, возвращаемых такими функциями, как model.evaluate, будут возвращены два значения потерь. Для обучения сумма потерь, умноженная на их вес, будет минимизирована. Как это работает с EarlyStopping? Я хочу, чтобы ранняя остановка также была основана на минимизации суммы потерь, умноженной на их вес, но я не знаю, произойдет ли это на самом деле.


person aniromi    schedule 03.08.2017    source источник


Ответы (1)


  1. Указывается, что и y_train, и y_val могут быть списком numpy.arrays. По моему опыту val_split должно работать нормально.

  2. Окончательный убыток представляет собой сумму всех потерь модели и используется для проверки критерия EarlyStopping.

person Marcin Możejko    schedule 03.08.2017