1、优先查看数据,数据中如果有空数据就会出现连续loss为nan,去除空白数据
data=data.dropna()
2、梯度爆炸
减小学习率,减小batch_size
3、数据归一化
4、网络的结构化不合理,隐含层,神经元个数
5、更换参数初始化方法
对于CNN,一般用xavier或msra方法(这个方法我没用过,只是看到有这个解决办法)
我使用第一种方法就解决了问题
本文探讨了神经网络训练过程中遇到的Loss值变为NaN的问题,提出了五种解决方案:1. 清理空白数据;2. 调整学习率和batch_size防止梯度爆炸;3. 实施数据归一化;4. 优化网络结构;5. 更换参数初始化方法,如采用Xavier或MSRA方法。
1、优先查看数据,数据中如果有空数据就会出现连续loss为nan,去除空白数据
data=data.dropna()
2、梯度爆炸
减小学习率,减小batch_size
3、数据归一化
4、网络的结构化不合理,隐含层,神经元个数
5、更换参数初始化方法
对于CNN,一般用xavier或msra方法(这个方法我没用过,只是看到有这个解决办法)
我使用第一种方法就解决了问题
您可能感兴趣的与本文相关的镜像
GPT-oss:20b
GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景
4575
2168
1935

被折叠的 条评论
为什么被折叠?