Архив

Архив Май 2017

Как отладить нестандартную loss-функцию на Keras?

Основная проблема с Loss функцией — это проблема с выводом значений переменных внутри неё, она компилируется и затем выполняется на GPU, где никакой print не работает. Методика для отладки может быть следующая.

1) Создаем 2 numpy-массива, содаржащие TRUE и PREDICTED значения. Например:

2) Делаем стандартную Python функцию которая вычисляет на основе этих переменных Loss. Убеждаемся что она работает верно.

3) Пишем функцию для Keras с использованием бекенда и которая затем будет передваться как loss-функция в метод compile.

4) Вызываем numpy функцию и keras функции:

Убеждаемся что результат одинаков. Если нет правим ошибки.