深度学习网络训练中出现loss函数为nan的原因_小小川_的博客-程序员秘密

技术标签: DL-Learning  ML-Learning  

1. 学习率太大,步子迈的太大导致梯度爆炸等都是有可能的。

 

   梯度消失或者爆炸的优化,请参考:https://blog.csdn.net/u013250416/article/details/81410693

2.  网络结构不合理,导致的Non

    1. 增加或者减少网络的深度

    2. 增加网络的宽度

    3. 不当的损失函数

    4. relu和softmax两层不要连着用,最好将relu改成tanh,也算一个技巧。

 

3. 数据处理的不合理,导致的Non

   1. batch size 选择过小

   2. 检查 参数初始化

   3. 数据本身,是否存在Nan,可以用numpy.any(numpy.isnan(x))检查一下input和target 

   4. 在训练的时候,整个网络随机初始化,很容易出现Nan,这时候需要把学习率调小,可以尝试0.1,0.01,0.001,直到不出现Nan为止,如果一直都有,那可能是网络实现问题。学习率和网络的层数一般成反比,层数越多,学习率通常要减小。有时候可以先用较小的学习率训练5000或以上次迭代,得到参数输出,手动kill掉训练,用前面的参数fine tune,这时候可以加大学习率,能更快收敛哦

 

 


 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wzx479/article/details/89339422

智能推荐

linux 安装MQTT服务器 ----mosquitto (阿里云搭建)_一颗小树x的博客-程序员秘密

目录1.在阿里云购买云主机2.下载 MosQuitto 源码包3. mosquitto依赖库安装4. mosquitto的安装5.可能遇到的问题6.检测是否安装成功7.mosquitto使用1.在阿里云购买云主机选择ubuntu16 的系统镜像, 地域尽量选相隔比较近的(地域:我们购买云主机所在的位置)2.下载 MosQuitto 源码包下...

python 爬虫爬去自己博客的访问量_爬虫增加博客访问量_位文杰TOP的博客-程序员秘密

废话不多说,我也是刚刚学习小白一个,但是经过我的测试确实是可以用的,只不过大家要把时间设置的要长一点 先上代码,使用py3    代码的相关解析可以看我的其他博客,里面有详细的介绍 __author__ = 'MrChen' import urllib.requestimport time #使用build_opener()是为了让python程序模仿浏览器进行访问o...

mica 微服务核心组件 1.0.0 正式版发布_糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖的博客-程序员秘密

开发四年只会写业务代码,分布式高并发都不会还做程序员? >>> mica(云母)mica 云...

vue中css穿透修改方法_乌梁海台·希勒木格希力尔的博客-程序员秘密

第一种:<style lang=“scss” scoped>外层 >>> 需要更改的class名 { display: block; font-size: 26px; .el-input { font-size: 16px; }}</style>第二种:<style lang="scss" scoped>/deep/ .el-input { display: block; font-size: 26px;

解决intellij idea Language Level自动重置为5的问题_董不懂装懂的博客-程序员秘密

解决intellij idea Language Level自动重置为5的问题很简单,在pom.xml中加入以下代码块即可:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...

随便推点

mui:顶部搜索框问题_mui搜索框_小贵子的博客的博客-程序员秘密

以前没有用过mui框架开发APP,最近有个APP项目开发用的是mui,开发过程中有很多不熟悉,也踩了很多坑,sui内置的一些样式不好修改,因此,把自己的一些经验分享给大家,希望对大家有用,如果有更好的解决办法,欢迎交流。顶部html 微糖资讯 顶部css搜索框默认会独占一行,所以把mui.min.css 里的.mui-input-row 的clea

WireGuard在ipv6下无法正常使用的解决办法_源文雨的博客-程序员秘密

WireGuard本身是支持ipv6作为endpoint使用的,可是在生产环境应用它组网时,却出现了能够ping通对方主机,能够访问web服务器,但是无法传输大文件的奇怪问题。在这几天,我就该问题进行了深入分析,并终于找到了症结所在。问题特点尝试将endpoint切换到ipv4时,一切正常,文件可以顺利传送。分析由问题特点推断,是协议的改进使得原来的ipv4报文无法通过ipv6的包装顺利传送到对端。上网查找ipv6与ipv4的区别,并逐一排查。最后发现:ipv6取消了分片,在分组过大时会直接丢弃.

python vtk mousemove_vtk随鼠标运动实时画支线_weixin_39525307的博客-程序员秘密

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #...

vue项目中的调试方法_全栈技术负责人的博客-程序员秘密

1.debbug断点调试、console.log()、alert()2.在mounted中调试window对象绑定mounted() { window.vue = this;}, 

花了 6 个月整理了 100 篇 Android 干货文章_cym492224103的博客-程序员秘密

距上次「花了 4 个月整理了 50 篇 Android 干货文章」已经2个月了,在这2个月中新增了50篇精选文章。接下来再来整理一波。热门技术巧用Android多进程,微信,微博等主流App都在用 Google I/O ‘17 新推出的物理动画库 Android Studio 实用小技巧 那些年Android黑科技①:只要活着,就有希望 那些年Android黑科技②:欺骗的艺术 那些年An

Mac中Jmeter下载与安装_mac jmeter官网_Liu_KH的博客-程序员秘密

jmeter下载、安装、简单使用,以及遇到的问题

推荐文章

热门文章

相关标签