【发布时间】:2019-05-29 06:48:21
【问题描述】:
在 Keras 文档中,有一个 example,其中创建了一个自定义回调来记录每个批次的 loss。这对我来说效果很好,但是我也想记录我添加的指标。
例如这段代码:
optimizer = Adam()
loss = losses.categorical_crossentropy
metric = ["accuracy"]
model.compile(optimizer=optimizer,
loss=loss,
metrics=metric)
class LossHistory(Callback):
def on_train_begin(self, logs={}):
self.losses = []
def on_batch_end(self, batch, logs={}):
self.losses.append(logs.get('loss'))
loss_history = LossHistory()
history = model.fit(training_data, training_labels,
batch_size=batch_size,
epochs=epochs,
verbose=2,
validation_data=(val_data, val_labels),
callbacks=[loss_history])
我不知道如何访问这些指标。
【问题讨论】:
-
请注意,正如可能在链接的基本示例的最后部分中看到的那样,这不会返回每个批次的损失,而是该批次结束时的平均损失。例如,在第 3 批次中,将报告的损失是该批次的损失与前两次的平均值。
标签: python tensorflow keras loss