Pytorch
文章平均质量分 60
九点澡堂子
这个作者很懒,什么都没留下…
展开
-
深度学习分布式训练DP、DDP通信原理
日常在「九点澡堂子」裸泳,欢迎关注 ~前言上周末开始写这篇文章,一度以为自己快要写完了。写着写着发现参考资料有点争议,下文讲到的PS架构的实现在网络上说法不一。鉴于是一个快要被淘汰的方案, Parrots里直接省略了该实现,所以堂妹对它背后的实现确实不太清楚。本着传播知识的良知,不敢造次,查了很多资料,发现众说纷纭。涉及上层模型的搭建场景,众所周知(假装),堂妹接触底层多一些,于是乎,堂妹拉着贵司的研究员们一起探讨这个问题,毕竟他们模型搭的多。凌晨2点,大佬依然在线…大概是现代人的标配吧原创 2021-04-23 11:05:41 · 2368 阅读 · 3 评论 -
setattr 可以重写方法
mark 一下~工作中碰到一个需求,需要在运行中改写某个类的方法,想到setattr,搜索相关代码时候发现以下这种说法,说是不支持创建方法。都想要放弃了,但心想还是尝试一下~如图,发现是可以的~import paviwriter = pavi.SummaryWriter('test_pavi')def hack(self, tag, value, iteration=0): # if tag == "t2": # print(value) if ("_原创 2021-04-23 10:56:31 · 338 阅读 · 0 评论 -
Pytorch分布式训练DataParallel和DistributedDataParallel详解
最近工作涉及到修改分布式训练代码,以前半懂非懂,这次改的时候漏了一些细节,带来不必要的麻烦,索性花点时间搞明白。Pytorch 分布式训练主要有两种方式:torch.nn.DataParallel ==> 简称 DPtorch.nn.parallel.DistributedDataParallel ==> 简称DDP其中 DP 只用于单机多卡,DDP 可以用于单机多卡也可用于多...原创 2020-04-18 23:12:32 · 12318 阅读 · 12 评论 -
显存优化 | Pytorch的显存机制torch.cuda.empty_cache及周边概念
注:文中涉及一些内部底层实现机制,可能和大家外界看到的不一样,这里略过不做介绍。借着笔记,分享平时碰到的技术点,不高端,不炫酷,对你有用更好了。最近在做模型的优化工作,主要涉及精度,速度和显存优化,今天主要针对显存优化分享下关于Pytorch显存机制的笔记。显存优化还涉及显存量查看,训练中显存使用分布查看,还有一些节省显存的tricks。我在这篇文章中没有体现,mentor看到文章“嫌弃”说“...原创 2020-04-17 10:55:24 · 6352 阅读 · 1 评论