ошибки для каждого слоя в керасе

Я пытаюсь визуализировать ошибки каждого слоя в CNN с помощью тензорной доски с Keras, чтобы увидеть, как они своевременно меняются на каждом слое. Как я могу получить ошибки для каждого слоя?


person Joey Chia    schedule 25.04.2018    source источник
comment
Я видел свойство потерь в классе слоя и есть функцию get_losses_for. Могут ли они использоваться для получения желаемой ценности?   -  person Joey Chia    schedule 26.04.2018


Ответы (1)


Потеря определяется только в выходном слое, чтобы измерить, насколько хорошо ваша модель соответствует данным. В keras есть функция History () для отслеживания соответствующих переменных в процессе обучения.

from keras.callbacks import History

history = History()

# define and compile your model
model.fit(..., callbacks=[history])
print(history.history)

Последняя команда показывает вам все отслеживаемые значения в процессе обучения. Вы можете получить доступ к отдельным переменным через метод get (). Чтобы получить данные о потере тренировки, вы можете получить к нему доступ через

history.history.get('loss')
person DocDriven    schedule 25.04.2018
comment
Благодарю за ваш ответ. Мне нужны значения потерь для каждого слоя в модели, потому что я хочу использовать изменения этих значений потерь для оценки сетей на этапе обучения. - person Joey Chia; 25.04.2018
comment
Как я уже говорил выше, потери не определены ни для какого другого слоя, кроме выходного. Вы имеете в виду ошибочные термины, которые передаются в обратном направлении в процессе обучения? Если нет, расскажите подробнее о том, какие ценности вас интересуют. - person DocDriven; 25.04.2018
comment
Извините за неправильное выражение, термины ошибки, которые вы упомянули, - это именно то, что я хочу. Не могли бы вы рассказать мне, как их получить? - person Joey Chia; 25.04.2018