#python-3.x #tensorflow #keras
#python-3.x #tensorflow #keras
Вопрос:
Я хочу определить функцию потерь, и потеря y_true — это то, что я не собираюсь использовать, но что я собираюсь получить из внешней глобальной переменной.Я обнаружил, что после того, как я передал определенную функцию потерь в компиляцию модели, она была вызвана только один раз.Я думал, что он собирается вызвать batch_size один раз.Потому что я добавил печать в свою пользовательскую функцию потерь, но она печаталась только один раз.Итак, я хочу знать, сколько раз вызывается пользовательская функция потерь.
def my_loss(y_true, y_pred):
global loss_count
loss_count = 1
print("the loss",loss_count)
return keras.losses.categorical_crossentropy(y_true, y_pred)
После обучения модели количество потерь переменной равно 1
Комментарии:
1. Вызывается только один раз
2. Вы имеете в виду, что нет способа вызвать ее несколько раз?
3. Я думаю, что функция вызывается один раз, когда она создает операции, а затем сеанс итеративно оценивает потери. Не уверен!! Здесь я немного догадываюсь.
4. @Anakin То, что вы говорите, абсолютно правильно.