我是靠谱客的博主 烂漫煎蛋,这篇文章主要介绍使用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删除列

 

最后

以上就是烂漫煎蛋最近收集整理的关于使用tensorflow做三层神经网络的简单二分类过程中遇到的损失函数变成nan问题处理的全部内容,更多相关使用tensorflow做三层神经网络内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(112)

评论列表共有 0 条评论

立即
投稿
返回
顶部