该循环中batch_size=64,取
i=0-->[0, 63],
i=64-->[64, 127]
....
训练正常,当进行到
i=320-->[320, 383]的循环中,loss出现nan的情况
原因:梯度爆炸
reference该文章讲的较为清晰,我只是从表面概括下
可以发现,在i=256时,梯度的参数出现较大的情况,如
e+16,e+17等较大的值
方法
batch_size=64--->改为32
注:我只尝试了这一种方法,同样也可以调整学习率、对数据集进行归一化、标准化处理等方法,要是改变batch_size的方法失效,我再试试其他方法,到时再来补充。