KeyError: ‘val_acc‘、 ‘val_accuracy‘、‘accuracy‘ ‘val_loss‘、 ‘loss‘问题解决

    由于Keras的版本问题,输入的代码'val_acc'或者'val_accuracy'会有所规范。

一开始我想要输出训练模型的损失函数和准确度:(展示部分代码)

def print_history(history):
    # 绘制训练 & 验证的准确率值
    plt.plot(history.history['accuracy'])
    plt.plot(history.history['val_acc'])
    plt.plot(history.history['loss'])
    plt.plot(history.history['val_loss'])
    plt.title('Model accuracy&loss')
    plt.xlabel('Epoch')
    plt.legend(['Train_acc', 'Val_acc', 'Train_loss', 'Val_loss'])
    plt.show()
history = model.fit(x_train, y_train,
          epochs=20,
          batch_size=128)
print_history(history)

    而系统却报错:

于是我把'val_acc'改为'val_accuracy',但是同样报错:

    也就是说无论是把'val_acc'改为'val_accuracy'还是把'val_accuracy'改为'val_acc',都没有解决问题。

解决方法就是:

看看history有什么关键字。以前Keras所对应含有的关键字不一定现在也有。

输入代码:

 print(history.history.keys())

输出结果:

可见,关键字只含有loss和accuracy。只要在上述的函数中做对应的更改,就可以输出损失函数和准确率了。 

 

 

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值