Как напечатать значение потерь, которое было установлено в бэкэнд-функции keras - PullRequest
0 голосов
/ 24 января 2019

Я новичок в Керас.Приведенный ниже фрагмент кода предназначен для функции потери градиента политики.Я попытался напечатать значение потери, чтобы увидеть, может ли значение потери быть отрицательным для градиента политики.но я не мог.Есть ли способ напечатать это?

Я нашел несколько способов, но он использует историю keras и кажется, что вы можете получить историю из функции model.fit.Приведенный ниже код не использует функцию model.fit.

from keras import backend as K

model = Sequential()
model.add(Dense(24, input_dim=self.state_size, activation='relu'))
model.add(Dense(24, activation='relu'))
model.add(Dense(self.action_size, activation='softmax'))
model.summary()

------------------------------------------------
action_prob = K.sum(action * self.model.output, axis=1)
cross_entropy = K.log(action_prob) * discounted_rewards
loss = -K.sum(cross_entropy)

optimizer = Adam(lr=self.learning_rate)
updates = optimizer.get_updates(self.model.trainable_weights,[],
                                loss)
train = K.function([self.model.input, action, discounted_rewards], [],updates=updates)

1 Ответ

0 голосов
/ 24 января 2019

Вы можете использовать для цикла для поезда, как эпохи:

for epoch in epochs:
    train=K.function(..)
    K.print_tensor(loss, message='{} Epochs Training Loss = '.format(epoch))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...