一、问题描述
在跑一段深度学习代码时遇到的问题:
源代码处是这样的:(这里,后面我加上 报错 的注释了…)
plt.plot(N[150:], H.history["acc"][150:], label="train_acc") # KeyError: 'acc'
二、问题解决
显然,我们可以看出来,错误是说 键错误
,我们也可以理解为关键字错误。
需要把上面的 acc 改为 accuracy
即可。(至于为什么这么修改,下面会解释)
亦即:
plt.plot(N[150:], H.history["accuracy"][150:], label="train_acc") # 2022.11.8 20:59
这样呢,就不会报上述错了。
可是,继续执行代码时,下面又报了一个错误,感觉和上述 错误类似:
定位源代码处:
plt.plot(N[150:], H.history["val_acc"][150:], label="val_acc") # KeyError: 'val_acc'
这里,先说明如何修改吧:将 val_acc 修改为 loss
即可。
亦即:
plt.plot(N[150:], H.history["loss"][150:], label="val_acc") # 2022.11.8 21:05
如此,上述错误就解决了。
为什么要 作 上述的改变(修改)?
这是 由于 Keras 所对应含有的关键字,以前有的,在现在的版本中,不一定现在也有。
当然,输出其 关键字,并不是 一句 print 就可以的。需要根据根据代码所生成模型,这里我暂时不介绍。读者知道有 loss 和 accuracy 这俩关键字就好了。