使用tensorflow做三层神经网络的简单二分类过程中遇到的损失函数变成nan问题处理

简述:某些输入数据归一化之后变成了nan,在归一化之后清洗下nan值就可以。希望能帮助到跟我一样新手入门的道友们。

描述:学习使用tensorflow做三层神经网络的简单二分类,遇到了损失函数loss从某个时间开始突然可是变成nan的问题。一开始是以为有些参数没有选对,尝试了网上能搜到的方法,也没有用。后来,把所有能输出的值都输出了,一步步看是哪个值变成了nan。首先定位到,输出预测值有某个变成了nan,因为损失函数计算要通过这个预测值,所以损失函数也变成了nan。于是,再查看这次训练时候的输入数据(数据是经过(01归一化的),发现某一行是nan(如下图,我粘贴到sublime中的,方便查看)。所以我定位到是输入数据出了问题,归一化后之后,某些数据成了nan.所以在归一化之后应该做下nan清洗,有下面两个方法:

norm_data = norm_data.fillna(0)#把nan填充成0,注意这里要赋值操作
norm_data = norm_data.dropna(axis=0)#参数0删除行,1删除列

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值