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

购物平台网站建设流程百度广告联盟平台的使用知识

购物平台网站建设流程,百度广告联盟平台的使用知识,博爱seo排名优化培训,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.shuangfujiaoyu.com/news/38609.html

相关文章:

  • 济南网站建设是什么做网站需要准备什么
  • 如何区分静态和动态网站软件优化
  • 网站开始怎么做外贸推广建站
  • 如何做自己的淘客网站湖南企业竞价优化服务
  • 免费购物网站模板百度官网推广
  • 中国核工业华兴建设有限公司网站关键词优化报价
  • 做网站设计软件石家庄关键词优化报价
  • 长乐市建设局网站百度链接
  • 获取网站服务器信息免费找客户软件
  • 徐州免费网站制作html网页制作代码大全
  • 安全无毒做网站饥饿营销的十大案例
  • 合作网站制作网络推广是做什么的
  • 如何看一个网站是谁做的提升seo排名的方法
  • 夏津网站建设价格站长之家爱站网
  • 伊犁网站建设评价品牌营销策划书
  • 站长工具服务器查询建立一个网站的费用
  • 国内有做网游评测的网站么廊坊seo关键词优化
  • 订阅号如何做微网站最新消息新闻
  • ueeshop外贸建站公司线上营销模式
  • 天津通信网站建设seo网络营销推广公司
  • 做网站需要材料优化营商环境评价
  • 校园网站建设方案百度网盘登陆
  • 山东食品行业网站模板网站优化seo是什么
  • 网站自己做需要多少钱余姚网站制作公司
  • asa8.4 做网站映射最新一周新闻
  • 圣诞网站源码如何创建网站
  • 莱芜公司做网站百度域名查询官网
  • 开发者选项在哪哈尔滨优化推广公司
  • 阿里云域名怎么做网站如何在网上推广自己
  • jsp 做网站还是php西安百度网站排名优化