【发布时间】:2020-08-30 00:51:21
【问题描述】:
我一直在尝试在 Python 脚本中使用 keras 绘制我的损失和准确性训练曲线,但我遇到了一个关键错误:
Traceback (most recent call last):
File "train_mask_detector.py", line 149, in <module>
plt.plot(np.arange(0, N), H.history["accuracy"], label="accuracy")
KeyError: 'accuracy'
训练模型代码
opt = Adam(lr=INIT_LR, decay=INIT_LR / EPOCHS)
model.compile(loss="binary_crossentropy", optimizer=opt,
metrics=["accuracy"])
# train the head of the network
H = model.fit(
aug.flow(trainX, trainY, batch_size=BS),
steps_per_epoch=len(trainX) // BS,
validation_data=(testX, testY),
validation_steps=len(testX) // BS,
epochs=EPOCHS)
# plot the training loss and accuracy
N = EPOCHS
plt.style.use("ggplot")
plt.figure()
plt.plot(np.arange(0, N), H.history["loss"], label="loss")
plt.plot(np.arange(0, N), H.history["val_loss"], label="val_loss")
plt.plot(np.arange(0, N), H.history["accuracy"], label="accuracy")
plt.plot(np.arange(0, N), H.history["val_accuracy"], label="val_accuracy")
EDIT(回答后):字典键是
print(H.history.keys())
dict_keys(['loss', 'acc', 'val_loss', 'val_acc'])
我将绘图命令更改为
plt.plot(np.arange(0, N), H.history["acc"], label="accuracy")
但错误仍然存在
KeyError: 'accuracy'
【问题讨论】: