Keras训练时报错:Batch 0: Invalid loss, terminating training

这个错误是由于无法计算loss造成的,有好多种情况会导致出现这种报错,需要慢慢排查。在这里整理一下排查的思路,给遇到相同问题的人一些思路。

Batch 0: Invalid loss, terminating training

循着这条思路,可以从下面几个方面检查自己的代码:

  1. 导入神经网络的图片格式都一样吗?我之前在制作数据集的时候,把几个数据集整合到一起,其中有一个数据集忘记重新对它resize,导致每次导入这些数据的时候就报错,因为我是通过generator导入的,一个batch里面就会出现几个异常size的数据,导致无法计算loss
  2. 检查softmax的神经节点个数与label数对不对应,若有100个分类,label是从1排到100就要将节点数设置成101,这时0位上是空着的,当然如果是从0到99编号的,就不需要考虑这个,这个地方不注意,很容易出事,我为了这个小错误,浪费了一个下午。
  3. 依然是label的问题,我整理的数据集,label编号是从几个数据集中提取的,比如只抽取0-4编号,8-12编号的数据,一共10个编号:【0,1,2,3,4,8,9,10,11,12】,这时如果设置softmax层的节点为10个,就会报错,要把上面的编号和对应的数据整理一遍,变成0-9的排号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值