Как я могу получить историю метрик обратного вызова?У меня есть класс Metrics
, и я использую его в функции fit
модели Keras следующим образом callbacks=[model_metrics]
.
Это полный код функции класса Metrics
и fit
.
class Metrics(Callback):
def on_train_begin(self, logs={}):
self.val_f1s = []
self.val_bal_accs = []
def on_epoch_end(self, epoch, logs={}):
val_predict = np.argmax((np.asarray(self.model.predict(self.validation_data[0]))).round(), axis=1)
val_targ = np.argmax(self.validation_data[1], axis=1)
_val_f1 = metrics.f1_score(val_targ, val_predict, average='weighted')
_val_bal_acc = metrics.balanced_accuracy_score(val_targ, val_predict)
self.val_f1s.append(_val_f1)
self.val_bal_accs.append(_val_bal_acc)
print(" — val_f1: {:f} — val_bal_acc: {:f}".format(_val_f1, _val_bal_acc))
return
model_metrics = Metrics()
history = model.fit(np.array(X_train), y_train,
validation_data=(np.array(X_test), y_test),
epochs=5,
batch_size=2,
callbacks=[model_metrics],
shuffle=False,
verbose=1)
Как я могу получить history
из val_f1
и val_bal_acc
?Теперь я могу получить доступ только к loss
, val_loss
, acc
, val_acc
:
print(history.history.keys())