DDP分布式训练中遇到的一些问题

1:所有forward的输出必须参与到loss计算并回传

2:类似于layer_norm这样的操作是无需进行分布式通信的,也无法进行分布式通信,所以在DDP的时候必须把find_unused_parameters设置为True

3:当报错形式为如下时,即在某一个进程的显卡上没有接收到梯度

这个时候可以在命令行前面加上TORCH_DISTRIBUTED_DEBUG=DETAIL, 这样,将找出具体时哪些参数没有接收到梯度,以此更好的调整代码 

 

4:关于0号卡的显存为什么远高于其他卡,需要设置

torch.cuda.set_device(rank)

torch.cuda.empty_cache()

一般设置在dist.init_process_grop之后(个人习惯),至于为什么,参考一下这篇文章

(4条消息) Pytorch清空显存缓冲区(torch.cuda.empty_cache)_pytorch 释放显存_hxxjxw的博客-CSDN博客

但实验发现,重点其实在torch.cuda.set_device(rank),所以DDP一定要加这个代码,即使已经用了CUDA_VISIBLE_DEVICES

遇到在补充.......... 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/28127.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux基础知识3

Linux基础知识 适合有Linux基础的人群进行复习。 禁止转载! 用户与用户组管理 Linux系统下的3类用户和功能; 答: root用户(或称根用户、超级用户):Linux的内置用户,权限最高,具有…

Qt学习06:QPainter绘画

文章首发于我的个人博客:欢迎大佬们来逛逛 Qt学习06:QPainter绘画 Qt绘图 Paint System Qt的绘制系统支持在屏幕和打印设备上使用相同的API进行绘制,主要基于QPainter、QPaintDevice和QPaintEngine类。 QPainter用于执行绘图操作&#xff…

KYOCERA Programming Contest 2023(AtCoder Beginner Contest 305)(A、B、C、D)[施工中]

文章目录 A - Water Station(模拟)B - ABCDEFG(模拟)C - Snuke the Cookie Picker(模拟、暴力)D - Sleep Log(二分,前缀) A - Water Station(模拟) 题意:在[0,100]所有 x % 5 0的地方设置一个水站&#x…

有效延缓痴呆症:延世大学发现梯度提升机模型能准确预测 BPSD 亚综合征

内容一览:随着人口老龄化程度不断加剧,痴呆症已经成为公共健康问题。目前医学界治疗该病还只能通过药物缓解,尚未发现治愈的有效方法,因此,预防痴呆症尤为紧迫。在这一背景下,延世大学的研究人员开发了多个…

【每日挠头算法题(5)】重新格式化字符串|压缩字符串

欢迎~ 一、重新格式化字符串思路1:构造模拟具体代码如下: 思路2:双指针法具体代码如下: 二、字符串压缩思路1:简单替换 总结 一、重新格式化字符串 点我直达~ 思路1:构造模拟 1.遍历字符串,…

2023-6-12-第三式单例模式

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

HTTPS

HTTP 协议内容都是按照文本的方式明文传输的。 这就导致在传输过程中出现一些被篡改的情况。为了保证安全,现在大多数网站都采用HTTPS协议。HTTPS协议是在HTTP协议的基础上引入了一个加密层SSL。 目录 HTTPS的加密流程对称加密非对称加密为什么引入非对称加密&…

Python处理办公自动化的10大场景

在编程世界里,Python已经是名副其实的网红了。Python最大优势在于容易学,门槛比Java、C低非常多,给非程序员群体提供了用代码干活的可能性。当然Python能成为大众编程工具,不紧是因为易学,还因为Python有成千上万的工具…

抖音电商发展路径:从外链种草到达人/品牌直播

复盘抖音电商发展,可以总结出以下几点发展特征: 策略重心的变化 以种草为核心,给电商引流站外成交(2019 年及之前)→ 力推达人直播但效 果一般(2020 上半年)→ 推品牌自播并彻底闭环&#xff0…

Redis.conf 详解

我们启动 Redis,一般都是通过 Redis.conf 启动。 因此,我们必须了解 Redis.conf 的配置,才能更好理解和使用 Redis。 单位 单位注意事项:当需要内存大小时,可以指定为1k 5GB 4M等 通常形式: 1k > 1000字…

谈谈几个常见数据结构的原理

数组 数组是最常用的数据结构,创建数组必须要内存中一块 连续 的空间,并且数组中必须存放 相同 的数据类型。比如我们创建一个长度为10,数据类型为整型的数组,在内存中的地址是从1000开始,那么它在内存中的存储格式如…

【lvs集群】HAProxy搭建Web集群

HAProxy搭建Web集群 一、 HAProxy简介1.1HAProxy主要特性1.2HAProxy负载均衡策略非常多,常见的有如下8种1.3LVS、Nginx、HAproxy的区别1.4常见的Web集群调度器 二、Haproxy搭建 Web 群集haproxy服务器部署节点服务器部署 三、定义监控页面与定义日志3.1定义监控页面…

Multimodal fusion via cortical network inspired losses(第一次优质论文分享)

Multimodal fusion via cortical network inspired losses 论文介绍1. 论文研究的任务是什么?2. 论文关注/拟解决的问题是什么?3. 论文提出什么方法如何解决这个问题?4. 如何设计实验 来证明 所提方法确实解决了 拟解决的问题? 论…

kotlin协程flow retry功能函数返回失败后重试(4)

kotlin协程flow retry功能函数返回失败后重试&#xff08;4&#xff09; import kotlinx.coroutines.delay import kotlinx.coroutines.flow.* import kotlinx.coroutines.runBlockingfun main(args: Array<String>) {var count 0 //重试计数runBlocking {load().onEach…

RetinaNet网络介绍

前言 上一篇博文我们介绍了Focal Loss&#xff0c;原理也比较简单&#xff0c;有不了解的小伙伴可以先跳转到之前的博文了解一下。Focal Loss介绍。这篇博文我们来看下Focal Loss的出处&#xff1a;Focal Loss for Dense Object Detection&#xff0c;这篇论文提出了RetainNet之…

chatgpt赋能python:Python怎么建服务器?

Python怎么建服务器&#xff1f; 作为一名具有10年Python编程经验的工程师&#xff0c;我深入研究了Python的一些高级特性&#xff0c;其中包括Python如何建立服务器的方法。Python是一个高级的编程语言&#xff0c;可以轻松创建服务器应用程序&#xff0c;并为您的网站提供高…

低秩矩阵(Low-Rank)的意义

&#xff11;&#xff0e;回顾基础&#xff1a; 矩阵的秩度量的是矩阵行列之间的相关性&#xff0c;如果各行各列都是线性无关的&#xff0c;矩阵就是满秩。非零元素的行或列决定了秩的大小。&#xff0f;&#xff0f;划重点&#xff0c;秩可以度量矩阵自身相关性 讲个小故事…

windows 服务程序和桌面程序集成(七)效果演示及源程序下载

系列文章目录链接 windows 服务程序和桌面程序集成&#xff08;一&#xff09;概念介绍windows 服务程序和桌面程序集成&#xff08;二&#xff09;服务程序windows 服务程序和桌面程序集成&#xff08;三&#xff09;UDP监控工具windows 服务程序和桌面程序集成&#xff08;四…

计算机提示“找不到vcruntime140.dll,无法继续执行代码可”以这样子修复

首先&#xff0c;对于那些不熟悉的人来说&#xff0c;vcruntime140.dll是一个关键文件&#xff0c;用于在Windows操作系统上运行使用C语言编写的大型应用程序。如果你正在运行或安装这样的应用程序&#xff0c;但找不到vcruntime140.dll文件&#xff0c;那么你的应用程序可能无…

Maven私服

Maven 私服是一种特殊的远程仓库&#xff0c;它是架设在局域网内的仓库服务&#xff0c;用来代理位于外部的远程仓库&#xff08;中央仓库、其他远程公共仓库&#xff09;。 建立了 Maven 私服后&#xff0c;当局域网内的用户需要某个构件时&#xff0c;会按照如下顺序进行请求…
最新文章