julia有 pytorch包吗_PyTorch 有哪些坑/bug?
说一个 distributed 的坑。
一般如果用 DistributedDataParallel (分布式并行)的时候,每个进程单独跑在一个 GPU 上,多个卡的显存占用用该是均匀的,比如像这样的:
其实一般来说,在 Distributed 模式下,相当于你的代码分别在多个 GPU 上独立的运行,代码都是设备无关的。比如你写 t = torch.zeros(100, 100).cuda(),在4个进程上运行的程序会分别在4个 GPUs 上初始化 t。所以显存的占用会是均匀的。
但是有的时候你会发现另外几个进程会在0卡上占一部分显存,导致0卡显存出现瓶颈,可能会导致cuda-out-of-memory 错误。比如这样的:
我发现我的代码中有一处很隐蔽的地方会导致这种情况发生:当你用
checkpoint = torch.load("checkpoint.pth")
model.load_state_dict(checkpoint["state_dict"])
这样load一个 pretrained model 的时候,torch.load() 会默认把load进来的数据放到0卡上,这样4个进程全部会在0卡占用一部分显存。
解决的方法也很简单,就是把load进来的数据map到cpu上:
checkpoint = torch.load("checkpoint.pth", map_location=torch.device('cpu'))
model.load_state_dict(checkpoint["state_dict"])
广告一下最近看的两篇有意思的论文:朱见深:Learnable Group Convolutions:可以学习的分组卷积zhuanlan.zhihu.com
julia有 pytorch包吗_PyTorch 有哪些坑/bug?相关推荐
- julia有 pytorch包吗_有了Julia语言,深度学习框架从此不需要计算图
选自julialang 作者:Mike Innes 等 机器之心编译 参与:刘晓坤.思源 本文基于 NeurIPS MLSys 的一篇论文<Fashionable Modelling with ...
- julia有 pytorch包吗_GitHub发布年度机器学习榜:TensorFlow最火,PyTorch失踪,Julia第四...
第一名毫无疑问是Python,Python在GitHub全站也非常热门,排名第三,仅次于Java和Java. 其他的机器学习常用语言则有C++.Java.Java.C#.Shell和Type,对比下面 ...
- julia有 pytorch包吗_用 PyTorch 实现基于字符的循环神经网络 | Linux 中国
导读:在过去的几周里,我花了很多时间用 PyTorch 实现了一个 char-rnn 的版本.我以前从未训练过神经网络,所以这可能是一个有趣的开始. 本文字数:7201,阅读时长大约: 9分钟 htt ...
- python pytorch 包的安装
python pytorch 包的安装 打开官网:https://pytorch.org/ https://pytorch.org/get-started/locally/
- Win10下NVIDIA-GForce940MX-Python3.9.7的Pytorch包安装经验分享(pip安装法)
----------------更新于2022.4.10---------------- 内容提要:安装Pytorch是进行人工神经网络深度学习必备的程序pag,在这里借用3W原则给大家进行解释. W ...
- 服务器(2080Ti)配置pytorch,distiller开发环境踩坑记录
公司计算资源限制,将开发环境转移到学校实验室的服务器上进行,需要重新配置一遍开发环境.服务器配置为10块RTX 2080Ti的显卡.本以为有了之前一次配置环境的经验会很顺利,naive... 1.to ...
- 安装python及扩展包时遇到的一些坑
安装python及扩展包时遇到的一些坑 安装python时,可勾选让其自动添加环境变量 用vscode配置python时,除了要下载python插件外,还需在setting中设置python解释器的路 ...
- 如何导入pytorch包_PyTorch 目前的运行途径
1.首先先从官网上下载Anaconda软件 下载地址:https://www.anaconda.com/products/individual 然后下载到.exe应用程序:(只要下载一个就行,正常是下 ...
- pytorch进行图像识别_pytorch使用4种不同的模型进行面部表情识别
pytorch进行图像识别 介绍: (Introduction:) This is a beginner-friendly project, with four different approache ...
最新文章
- 1.磁盘的数据结构包括那些内容?
- 2018-3-25论文(Whale Optimizer Algorithm)+(Gery Wolf Optimizer)笔记三---算法部分的对比
- Day20 Ajax
- 学习汇编语言 -王爽,自已完成的一道课程设计题 (5)
- 用Latex模板写简历
- cv dnn识别动作规范 open_OpenCV开发笔记(七十三):红胖子8分钟带你使用opencv+dnn+yolov3识别物体...
- 用ABAP实现SM36的设置后台JOB
- linux批量安装 五大开源软件挨个看,51CTO_Linux运维和管理:自动化监测.pdf
- 面向对象中的修饰关键词
- 免费个人博客:使用hexo+github搭建详细教程
- [转载] 2020最新Java面试题,常见面试题及答案汇总
- 笨办法学 Python · 续 练习 42:SQL 删除
- 【Mac】mac 安装Axure RP 8 点不开 就一直跳-后闪退-报错Expected an Int64 but got a System.UInt64
- python 核心编程 第一部分
- python视频免费百度云-Python开发视频百度云分享
- 调试错误:ValueError: Protocol message Feature has no quot;featurequot; field.
- LordPe dump进程内存实现
- 海尔微型计算机U盘启动,海尔台式电脑如何bios设置u盘启动教程
- 【craps赌博游戏】
- #2297. 战争调度(war)
热门文章
- 磁盘建立swap分区,gpt分区和磁盘LUKS加密、配额
- CSS3伸缩布局的应用
- POST+JSON+JS下载Excel或CSV
- 挑战面试编程:大整数的加、减、乘、除
- Linux Linux共享库
- 手机浏览器页面知识收集(转)
- 【Away3D代码解读】(一):主要类及说明
- Lync 小技巧-17-查询Lync 2013聊天记录
- 关于Object数组强转成Integer数组的问题:Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;...
- BZOJ 1193: [HNOI2006]马步距离【贪心+搜索】