软件环境:
Keras 2.1.6
Tensorflow 2.3
今天在使用keras训练分类模型的时候,因为使用了格式化命名模型文件,出现如题报错,经过查询,发现网上的解决方案是说因为版本更新的原因目前使用的不再是val_acc而是val_accuracy:python - KeyError: Failed to format this callback filepath - Stack Overflowhttps://stackoverflow.com/questions/61049830/keyerror-failed-to-format-this-callback-filepath
上述解决方案确实可以解决由于不同版本的keras更改带来的问题,但是通过查看代码,发现我自己的代码没有上述问题,而且报错是因为val_loss这个变量:
问题原因:经过仔细排查,发现是因为训练样本较少,而设置的batch_size>训练样本数量,导致出错。
解决方法:将batch_size设置为小于训练样本数量,即可正常训练。