当前位置: 首页 > wzjs >正文

网站建设及那个科目上海网站建设

网站建设及那个科目,上海网站建设,vr软件开发前景,做微信商城网站建设文章目录 第1步检查loss出现nan的源头(排除输入数据问题)第2步 降低学习率查看能否解决(排除是学习率设置不当的问题)第3步 查看是不是数据溢出造成的(混精度运算->统一精度)第四步 确定gpu计算方式第五…

文章目录

  • 第1步检查loss出现nan的源头(排除输入数据问题)
  • 第2步 降低学习率查看能否解决(排除是学习率设置不当的问题)
  • 第3步 查看是不是数据溢出造成的(混精度运算->统一精度)
  • 第四步 确定gpu计算方式
  • 第五步 回到第3步骤,直接全部启用fp32精度参数训练
  • 教训:训练绝对别用fp16,不溢出算我的@@@

第1步检查loss出现nan的源头(排除输入数据问题)

遇到这个问题首先追踪打印loss看看究竟是啥导致了loss出现nan,结果发数据输入没啥问题,就是在训练过程中可训练参数出现inf和nan等:
在这里插入图片描述

第2步 降低学习率查看能否解决(排除是学习率设置不当的问题)

我将学习率从10-5降低十倍,一点点作用都没有
在这里插入图片描述

第3步 查看是不是数据溢出造成的(混精度运算->统一精度)

因为我这个情况比较特殊,我的输入数据是32位的,但是我的模型训练参数是16位的,loss计算是32位的,因为上面也发现我的问题是训练参数inf和nan了,所以我想会不会是精度不一样导致参数计算的时候溢出了。由于我的baseline是16位的,我计划将所有的转换成16位来训练。
结果还是一样,在训练的第一次更新完参数就inf和nan了。
在这里插入图片描述

第四步 确定gpu计算方式

可能你的gpu是半精度(fp16)训练,启用了tf32训练
加上:

torch.backends.cuda.matmul.allow_tf32 = False
torch.backends.cudnn.allow_tf32 = False
with autocast(dtype=torch.float16):

还是报错:
在这里插入图片描述

第五步 回到第3步骤,直接全部启用fp32精度参数训练

这里其实有一个问题:我最终需要的是fp16 的精度(因为怕溢出),但是参与训练是32。
解决:我将参数初始化为32,但是前向计算时候转换成16
在这里插入图片描述

解决了

教训:训练绝对别用fp16,不溢出算我的@@@

http://www.dtcms.com/wzjs/511113.html

相关文章:

  • 网站自动登录怎么做百度搜索风云榜明星
  • 宜昌网站建设公司网络推广公司名字
  • 北京网站备案核验单广告联盟骗局
  • 一个购物网站开发语言全国最大的关键词挖掘
  • 东莞高端品牌网站建设怎么做app推广代理
  • 网站建设要花多少钱2022年大事热点新闻
  • 山东手机网站建设电话武汉全网营销推广公司
  • 毕设做网站什么主题比较好seo网站推广培训
  • 中国建设网官方网站企业全国互联网营销大赛官网
  • 建筑设计说明万能模板网站seo诊断报告
  • 贵州 网站建设千锋教育培训机构地址
  • 网站设计师介绍如何自己开发网站
  • dw自己做的网站手机进不去网站链接查询
  • 网站开发前景怎么样百色seo外包
  • 网站建立基本流程win7系统优化软件
  • 初学者做网站的软件市场营销网站
  • 记事本做网站素材代码充电宝seo关键词优化
  • 12306网站是哪个公司做的中国婚恋网站排名
  • 做包装盒效果图的网站百度获客平台怎么收费的
  • 外贸网站建设注意店铺运营
  • 郑州本地做团购的网站站长工具下载app
  • 中小型网站建设山西免费网站关键词优化排名
  • 滨州网站建设公司创建属于自己的网站
  • 创意工作室网站谷歌优化教程
  • 玉树州网站建设公司制造企业网站建设
  • 如何做好企业网站的推广深圳网站seo优化
  • 专业做网站团队佛山网页搜索排名提升
  • 建站网站多少钱网址收录入口
  • wordpress入门教程网站是怎么优化的
  • 分享设计的网站网络广告推广方式