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

解决DDP的参数未参与梯度计算

将find_unused_parameters改成False之后,如果出现模型有些参数未参与loss计算等错误。

可以用环境变量来debug查看log。

export TORCH_DISTRIBUTED_DEBUG=DETAIL

代码上可以用以下方法查看。

# check parameters with no grad
for n, p in model.named_parameters():if p.grad is None and p.requires_grad is True:print('No forward parameters:', n, p.shape)

可以将这些未用到的参数注释掉。

或者,乘以0与模型的loss进行相加,使未用到的参数也参入了loss计算。

for p in self.parameters():loss += 0.0 * p.sum()

http://www.lryc.cn/news/184102.html

相关文章:

  • cpp primer笔记100-拷贝控制
  • 【数据库——MySQL】(16)游标和触发器习题及讲解
  • javascript二维数组(9)toString的用法
  • OpenAI重大更新!为ChatGPT推出语音和图像交互功能
  • 【开发篇】十六、SpringBoot整合JavaMail实现发邮件
  • 如何在Ubuntu系统部署RabbitMQ服务器并公网访问【内网穿透】
  • Flutter笔记:用于ORM的Floor框架简记
  • Zabbix自定义脚本监控MySQL数据库
  • 【Spatial-Temporal Action Localization(五)】论文阅读2020年
  • Linux基本指令(中)——“Linux”
  • OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击
  • Java自定义类加载器的详解与步骤
  • 完美清晰,炫酷畅享——Perfectly Clear Video为你带来卓越的AI视频增强体验
  • 如何让FileBeat支持http的output插件
  • 解密人工智能:决策树 | 随机森林 | 朴素贝叶斯
  • web:[极客大挑战 2019]BabySQL
  • DRM全解析 —— plane详解(1)
  • 数据结构总结
  • 在SOLIDWORKS搭建一个简易的履带式机器人
  • C# 为什么要限制静态方法的使用
  • 【已解决】Pyecharts折线图,只有坐标轴没有折线数据
  • win10搭建Selenium环境+java+IDEA(3)
  • String 、Stringbuffer、StringBuilder区别
  • 如何提升爬虫IP使用效率?精打细算的方法分享
  • (高阶) Redis 7 第19讲 缓存过期淘汰策略 大厂篇
  • 【四旋翼飞行器】模拟四旋翼飞行器的平移和旋转动力学(Simulink仿真实现)
  • Kaggle - LLM Science Exam(一):赛事概述、数据收集、BERT Baseline
  • mmap底层驱动实现(remap_pfn_range函数)
  • 品牌如何查窜货
  • Java基于SpringBoot的车辆充电桩