概述
简述:某些输入数据归一化之后变成了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删除列
最后
以上就是烂漫煎蛋为你收集整理的使用tensorflow做三层神经网络的简单二分类过程中遇到的损失函数变成nan问题处理的全部内容,希望文章能够帮你解决使用tensorflow做三层神经网络的简单二分类过程中遇到的损失函数变成nan问题处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复