KeyError: ‘accuracy’、KeyError: ‘val_acc’、KeyError: ‘acc’等报错信息的解决方法

KeyError: ‘accuracy’、KeyError: ‘val_acc’、KeyError: ‘acc’等报错信息的解决方法首先 之所以会出现 KeyError accuracy KeyError acc KeyError val acc 等报错信息 是由于 keras 库 一个开源人工神经网络库 版本不同所造成的 下面分别就其进行简述之 Index 目录索引报错信息之 KeyError accuracy 报错信息之 KeyError val acc 和 KeyError acc Conclusion

报错信息之KeyError: ‘accuracy’

首先抛出报错信息,如下:

Traceback (most recent call last): File "/train.py", line 90, in <module> plt.plot(N, H.history["accuracy"], label="train_acc") KeyError: 'accuracy' 

这个是在神经网络模型在训练的时候所报的错误,报错信息是个好东西,你要学会如何从报错信息中发掘出有用的东西来。根据错误信息的提示找到对应的代码行所在:

plt.figure() plt.plot(N, H.history["loss"], label="train_loss") plt.plot(N, H.history["val_loss"], label="val_loss") plt.plot(N, H.history["accuracy"], label="train_acc") plt.plot(N, H.history["val_accuracy"], label="val_acc") plt.title("Training Loss and Accuracy") 

后来发现症结所在,之所以会报错,是因为keras库老版本中的参数不是accuracy,而是acc,将参数accuracy替换为acc,修改过的代码如下:

plt.figure() plt.plot(N, H.history["loss"], label="train_loss") plt.plot(N, H.history["val_loss"], label="val_loss") plt.plot(N, H.history["acc"], label="train_acc") plt.plot(N, H.history["val_acc"], label="val_acc") plt.title("Training Loss and Accuracy") 

对的,你没看错,只是修改了这一个地方,就直接药到病除了。

报错信息之KeyError: ‘val_acc’和KeyError: ‘acc’

之所以会将这两个报错信息放到一起来讲解,是因为这个错误是同一个原因所造成的。首先分别抛出这两个错误的报错信息,如下:

Traceback (most recent call last): File "Training.py", line 110, in <module> nb_val_samples=nb_val_samples) File "/usr/local/python3/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 91, in wrapper return func(*args, kwargs) File "/usr/local/python3/lib/python3.6/site-packages/keras/engine/training.py", line 1732, in fit_generator initial_epoch=initial_epoch) File "/usr/local/python3/lib/python3.6/site-packages/keras/engine/training_generator.py", line 260, in fit_generator callbacks.on_epoch_end(epoch, epoch_logs) File "/usr/local/python3/lib/python3.6/site-packages/keras/callbacks/callbacks.py", line 152, in on_epoch_end callback.on_epoch_end(epoch, logs) File "/usr/local/python3/lib/python3.6/site-packages/keras/callbacks/callbacks.py", line 702, in on_epoch_end filepath = self.filepath.format(epoch=epoch + 1, logs) KeyError: 'val_acc' 
Traceback (most recent call last): File "Training.py", line 130, in <module> plot_training(history_ft) File "Training.py", line 114, in plot_training acc = history.history['acc'] KeyError: 'acc' 

同样的方法,先根据报错找到对应的代码行错误所在。由于keras库版本的不同,这次将acc改为accuracy之后,就药到病除了。

Conclusion 总结

综上所述,由于不同电脑中的keras库版本不同,在使用该库运行程序训练网络模型的时候会出现报错的情况,小伙伴们可以参考上述方法进行改进之。

写到这里,差不多本文就要结束了,如果有问题可以在下方留言区留言交流。如果我的这篇文章帮助到了你,那我也会感到很高兴,一个人能走多远,在于与谁同行

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221809.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午5:14
下一篇 2026年3月17日 下午5:15


相关推荐

  • pycharm下的多个python版本共存(一)

    pycharm下的多个python版本共存(一)

    2021年10月22日
    64
  • Springboot自定义注解

    Springboot自定义注解常见定义 a 定义注解 Retention 注解 功能 指明修饰的注解的生存周期 即会保留到哪个阶段 RetentionPol 的取值包含以下三种 SOURCE 源码级别保留 编译后即丢弃 CLASS 编译级别保留 编译后的 class 文件中存在 在 jvm 运行时丢弃 这是默认值 RUNTIME 运行级别保留 编译后的 class 文件中存在 在 jvm 运行时保留 可以被反射调用 Target 注解 功能 指明了修饰的这个注解的使用范围 即被描述的注解可以用在哪里 El

    2026年3月19日
    2
  • Steam[ASF]挂卡(挂游戏时间)纯新手教学

    Steam[ASF]挂卡(挂游戏时间)纯新手教学1 去 github 下载挂卡工具 ASFhttps github com JustArchiNET ArchiSteamFa releases 找到自己对应的版本下载即可 资源我也上传到了度盘 需要下文自取即可 2 从读盘下载 302 工具启动即可这一步是为了 ASF 可以访问到 steam 的社区需要的工具 启动服务即可如果遇到端口被占用的情况就参考以下博客解决 https

    2026年3月20日
    2
  • 超给力的博客园皮肤 Awescnb 来袭 !附更换皮肤步骤

    超给力的博客园皮肤 Awescnb 来袭 !附更换皮肤步骤Awescnb博客园皮肤Awescnb是一款基于vite和webpack5,构建、安装、切换的博客园皮肤。界面简单干净,集成到Cnblog步骤也十分简便,只需要几步就能在你的博客园快

    2022年7月2日
    21
  • PhpSpreadsheet_php读取文件内容

    PhpSpreadsheet_php读取文件内容·1、实例化Spreadsheet对象<?phpnamespaceapp//给类文件的命名空间起个别名usePhpOffice\PhpSpreadsheet\Spreadsheet;//Xlsx类保存文件功能类usePhpOffice\PhpSpreadsheet\Writer\Xlsx;//实例化Spreadsheet对象$spreadsheet=newSpreadsheet();2、Spreadsh

    2025年12月15日
    3
  • selenium.webdriver_python electron

    selenium.webdriver_python electronhttp://blog.csdn.net/huilan_same/article/details/52789954今天谈谈文件下载吧,很多人不会处理弹出的文件下载框,其实跟上传类似,可以用autoit和win32api解决,方法类似,可以看博主之前的文章 Pythonselenium——文件上传所有方法整理总结 ,今天这里博主主要想讲讲更漂亮的一种处理办法,那就是指定

    2025年12月3日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号