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

国内个人网站设计欣赏江阴响应式网站开发

国内个人网站设计欣赏,江阴响应式网站开发,网站建设创业计划书模板范文,wordpress 模板标签0. 引言 Pytorch训练时在batchN时loss为nan。经过断点检查发现在batchN-1时,网络参数非nan,输出非nan,但梯度为nan,导致网络参数已经全部被更新为nan,遇到这种情况应该如何排查,如何避免?由于导…

0. 引言

Pytorch训练时在batch=N时loss为nan。经过断点检查发现在batch=N-1时,网络参数非nan,输出非nan,但梯度为nan,导致网络参数已经全部被更新为nan,遇到这种情况应该如何排查,如何避免?由于导致nan的情况较为繁多,本文给出的不是一个个例的解决方案,而是一种通用的抽象解决方案。

1. 排查

最简单的排查的方式就是检查parameter的参数值:

# model
for name, param in model.named_parameters(recurse=True):if not torch.isfinite(param.mean()):print(name)

通过该种方法可以打印出网络参数中数值非有限值的参数所在层。

第二种方法是检查parameter的梯度值,该方法需要retain_graph=True (Pytorch默认不保存图结构以节省GPU内存)

# compute loss
loss.backward(retain_graph=True)
# model
for name, param in model.named_parameters(recurse=True):if not torch.isfinite(param.grad.mean()):print(name)

检查梯度和参数值的方式都是从后往前查(和反向传播的顺序一致),子节点出现问题会导致其根节点必定出现问题,因此优先排查子节点是否是导致nan的原因。

最后提醒一下,如果nan排查成功,别忘了把retain_graph=True给删了,因为这条命令占用额外的GPU内存。

2. 规避

在这里介绍的方法是基于Pytorch 1.13的,Pytorch 2.x的用户也不想要担心,因为本教程中设置的参数在Pytorch 2.x里面已经设为默认参数,完全兼容。

# compute loss
# optimizer, model
clip_grad = 1.0 # maximum value to clip grad_norm
try:nn.utils.clip_grad_norm_(model.parameters(), clip_grad, norm_type=2, error_if_nonfinite=True) # 遇到nonfinite的梯度报错optimizer.step()
except:print("nan detected in grad, skip batch")optimizer.zero_grad()  # 所有梯度置0,保证下一个batch的正常训练continue  # 跳过这个batch的训练

这个代码的思想就是利用clip_grad_norm_自带的梯度检查功能在反向传播前对model的每个参数梯度进行检查,如若出现梯度异常值,则跳过batch(且不会对网络进行梯度更新)。需要的注意的是,optimizer.zero_grad()除了在本代码中出现,应该在主循环里面也另外有一个,但是此处省略了。

http://www.yayakq.cn/news/487833/

相关文章:

  • 网站建设估价百度网站关键字
  • 网站设计说明书范文cd wordpress
  • 企业网站的制作及维护菏泽做网站的公司
  • 地产flash网站pc营销型网站
  • 深圳网站建设哪家比较专业广州营销策划公司排行
  • 一些js特效的网站推荐建筑人才网招聘网官网
  • 网站建设模板设计wordpress按钮编辑器
  • 网站制作对公司的作用适合大学生做的兼职网站有哪些
  • 中国空间站纪念币.net 网站开发
  • 通化市城乡建设局网站东莞市电池网站建设
  • 金华公司网站建设网站制作视频教程新手必看
  • 网站建设以后就业方向如何做彩票网站
  • 懒懒淘客怎么做自己的网站开发一个app的资质要求
  • 租赁商城手机网站开发led灯散热片技术支持 东莞网站建设
  • 青浦区网站建设费用网站建设 加盟
  • 龙华做棋牌网站建设网站后期维护流程
  • 温室网站建设设计软件培训班学费一般多少
  • 订餐网站模板下载阿里云域名注册查询官网
  • 网站开发要用什么语言绵阳网站建设制作
  • vps自带ie浏览器不能访问网站交互式网站建设
  • seo站外推广有哪些深圳vi设计公司哪家好
  • 网站建设设计 飞沐二级建造师报考条件官网
  • 上海网站建设模板站霸网络群辉做网站服务器python
  • 网站博客模板wordpress评论生成
  • 关于动漫的网站建设html编辑工具有哪些
  • 省级住房城乡建设主管部门网站网站开发课程改革
  • 湖南中耀建设集团有限公司网站中文wordpress网站模板下载失败
  • 企业网站 合同备案 修改网站名称
  • 网站托管怎么做等保企业建网站报价
  • 福建坤辕建设工程有限公司网站建立网站做家教辅导