SA-SSD训练过程出现nan

SA-SSD训练过程出现nan

Pytorch训练过程出现nan

注明:现在整理了一些解决问题的方法,但是在实际测试中,我的问题还是没有解决。接下来继续查找问题,查找解决问题的办法。天呀,我的头发…


使用SA-SSD算法,训练velodyne-16线点云数据,但是训练过程中损失值loss=nan,困扰良久…
经过搜集资料发现Pytorch训练过程出现nan的情况为以下几种:

1、学习率太大,但是样本数据集又很小。
2、自定义的loss除以了一个很小的数字,小到接近0。
3、数据不干净,数据本身就有nan,可以用numpy.isnan检查。
4、target,即label是大于等于0的。从1到类别数目-1变化。

既然找到了解决可能出现问题的地方,接下来就是逐个排查问题了。
1、首先更改SA-SSD算法的学习率lr,原学习率为lr=0.003更改为更小值lr=0.001/0.0005,然而并不能排除问题。损失值loss仍出现loss=nan。
2、数据集本身就含有nan,自己写了个脚本测试数据集(bin格式)中是否含有nan类型,结果令人失望,没有nan类型。看来接下来还需要去找其他方法去解决这个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2137.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 智能网关是路由器吗_一般路由器网关是多少

    智能网关是路由器吗_一般路由器网关是多少配制成路由网关filters作用是让页面请求地址变成自己设置的地址现在页面出现了400错误因为之前的renrne-fast里面自己配置了跨域等于配置了二个跨域所以我们配置跨域的时候要把他的注释掉addallowOriginPattern这个注解…

    2022年7月28日
    8
  • 曾国藩36字深入解读-借智慧[通俗易懂]

    曾国藩36字深入解读-借智慧[通俗易懂]曾国藩是中国近代史上的一位圣人。一个普通的农家子弟,以并不超绝的资质,竟能办成挽狂澜于既倒,扶大厦于将倾,平定大乱,再造“中兴”的不俗伟业,成为“内圣外王”的典范。

    2022年6月7日
    39
  • Android 调用微信小程序支付badparam_微信定时发消息

    Android 调用微信小程序支付badparam_微信定时发消息最近一项目需要添加微信的分享:朋友、朋友圈。原本以为挺简单的一事,无非就是去官网下个Demo,集成到自己项目中,可以分分钟搞定,结果这帮写文档的坑爹玩意,愣是浪费了我N多时间,好了吐槽完毕,接下来分享下此次调用微信中遇到的问题和解决方法:首先第一个问题:死活调不出微信客户端原因:是没有按照所谓的官方说明来操作,解决方法:1)对要加微信的项目进行打包签名,此时就有了自己的

    2022年9月1日
    5
  • IDM无法下载.ts文件解决方案

    IDM无法下载.ts文件解决方案IDM无法下载.ts文件解决方案无法下载TS文件问题实例解决方案1.利用IDM获取下载链接2.利用.ts下载软件下载文件【N_m3u8DL-CLI_TS】软件下载软件使用方法下载.ts文件下载完成IDM下载链接无法下载TS文件问题实例点击下载后显示”由于法律原因,IDM无法下载此受保护数据……”解决方案1.利用IDM获取下载链接<1>点击IDM浮标,选择想要下载的文件<2>复制IDM弹窗中的下载链接2.利用.ts下载软件下载文件【N_m3u8

    2022年7月18日
    17
  • 测试android sdk是否安装成功,配置Android SDK

    测试android sdk是否安装成功,配置Android SDK下载AndroidSDK两种方式:配置步骤启动AndroidSDKManager,打开主界面在以下界面中选择:然后install配置环境变量右键我的电脑,打开属性,点击高级系统设置,打开环境变量:1、新建一个环境变量名称为ANDROID_HOME,变量值为当前安装SDK的目录例如SDK装在D:\androidSDK中,则环境变量为:2、把%ANDROID_SDK_HOME%\platfo…

    2022年7月21日
    38
  • 数据库置疑处理方法有哪些_sql2008数据库置疑

    数据库置疑处理方法有哪些_sql2008数据库置疑/*1.新建一个与置疑数据库同名的数据库(一定要保证文件名是相同的,包括数据文件名和日志文件名)2.停掉sqlserver3.删除新数据库的日志文件4.用置疑数据库的数据文件(.mdf)覆盖掉这个新建的同名数据库的数据库文件5.再重启sqlserver6.执行以下语句*/   use master go execsp_con

    2022年8月20日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号