最近经常出现一个错误,在模型训练的时候loss:inf,如果出现的不多的话还是可以接受的,但是一旦这个大量出现,模型就不能训练了,损失也很难收敛,所以今天我终于把这个问题解决了,写下来表示分享。
产生的原因暂时还不清楚,网上能查到很多原因,但是对我这个问题并没有帮助。
我出现了这个问题是因为使用了‘ctcloss’,这个时候我们找到ctc_batch_cost方法:
ctc_loss_calculator.cc:144] No valid path found.或loss: inf
ctrl+鼠标左键点进去,找到ctc_loss方法,再次点进去:
ctc_loss_calculator.cc:144] No valid path found.或loss: inf
然后看到了ctc_loss的内容,只需把preprocess_collapse_repeated这一项改为True,又可以开心的训练了,如图,不同版本位置可能不一样,总之就是改这个参数:
ctc_loss_calculator.cc:144] No valid path found.或loss: inf

相关文章: