Как объединить категориальную кроссентропию в одно значение потерь - PullRequest
0 голосов
/ 10 сентября 2018

Я использую categorical_crossentropy в качестве функции потерь для моей модели, и мне нужно вручную вычислить значение потерь для другой модели в обратном вызове fit.categorical_crossentropy возвращает тензор, который не может быть преобразован в одно значение, и я не могу понять, как рассчитывается один убыток.Я пытался:

def on_epoch_end(self, epoch, logs={}):
        y_pred = np.asarray(self.model.predict(self.validation_data[0]))
        y_true = self.validation_data[1]
        vloss =  K.eval(K.mean(categorical_crossentropy(K.variable(np.asarray(y_true)), K.variable(y_pred))))

Я вызываю on_epoch_end вручную (я создаю этот класс обратного вызова из другого обратного вызова), поэтому 'val_loss' в logs не заполнено.

...