解决多卡加载预训练模型时,卡0总会比其他卡多占用显存,多卡占用显存不均
出现问题:
再跑stdc官方给出代码时,使用多卡加载pretrained模型时,卡0上比卡123多三个进程,卡123都只有一个进程,中断训练后卡0全部进程都中断。即卡0在正常训练时比卡123多占用显存。(使用nvidia-smi命令查看)
这里发现问题存在于load模型的时候,直接load的话会导致参数加载到之前保存模型的device上(大部分情况下应该是只用cuda0去保存),这里可以将load函数加一个参数为map_location解决:
model_weights = torch.load(path, map_location='cpu')
改完之后发现仍旧存在这个问题
后来查看代码的时候发现,在网络的class内部,init_weight的时候也有一个load函数。这个函数内部无map_location参数。
因此,加入这个参数后如果卡0仍旧多占用显存和进程的时候,可能是某个隐藏的类别内部存在torch.load函数。多找找加上map_location参数即可使得全部的卡占用相同显存。
解决多卡加载预训练模型时,卡0总会比其他卡多占用显存,多卡占用显存不均相关推荐
- 解决HuggingFace加载预训练模型时报错TypeError: expected str, bytes or os.PathLike object, not NoneType
完整报错: TypeError: expected str, bytes or os.PathLike object, not NoneType 解决方法 检查下载的组件: 步骤1:完整的下载组件,包 ...
- pytorch加载预训练模型_Pytorch-Transformers 1.0发布,支持六个预训练框架,含27个预训练模型...
AI 科技评论按:刚刚在Github上发布了开源 Pytorch-Transformers 1.0,该项目支持BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM等,并包含 ...
- pytorch:加载预训练模型(多卡加载单卡预训练模型,多GPU,单GPU)
在pytorch加载预训练模型时,可能遇到以下几种情况. 分为以下几种 在pytorch加载预训练模型时,可能遇到以下几种情况. 1.多卡训练模型加载单卡预训练模型 2. 多卡训练模型加载多卡预训练模 ...
- keras冻结_Keras 实现加载预训练模型并冻结网络的层
在解决一个任务时,我会选择加载预训练模型并逐步fine-tune.比如,分类任务中,优异的深度学习网络有很多. ResNet, VGG, Xception等等... 并且这些模型参数已经在imagen ...
- 加载预训练模型时报错 KeyError: param ‘initial_lr‘ is not specified in param_groups[0]
在加载预训练模型继续训练时,程序报错:KeyError: "param 'initial_lr' is not specified in param_groups[0] when resum ...
- pytorch加载预训练模型遇到的问题:KeyError: ‘bn1.num_batches_tracked‘
问题 最近在使用pytorch1.0加载resnet预训练模型时,遇到的一个问题,在此记录一下. KeyError: 'layer1.0.bn1.num_batches_tracked' 其实 ...
- Pytorch网络模型权重初始化、保存与加载模型、加载预训练模型、按需设置学习率
前言 在我们对神经网络模型进行训练时,往往需要对模型进行初始化或者加载预训练模型.本文将对模型的权重初始化与加载预训练模型做一个学习记录,以便后续查询使用. 权重初始化 常见的初始化方法 PyTorc ...
- MXNet快速入门之训练加载预训练模型(四)
前言 在前面几篇文章中详细介绍了MXNet的一些特点以及入门基础知识,本篇文章主要介绍如何使用MXNet来训练模型.加载模型进行预测.预训练模型以及MXNet中GPU使用的相关知识. 在介绍训练模型之 ...
- Caffe2教程实例,加载预训练模型
Caffe2教程实例,加载预训练模型 概述 本教程使用模型库中的预训练模型squeezenet 里分类我们自己的图片.我们需要提供要分类图片的路径或者URL信息作为输入.了解ImageNet对象代码可 ...
最新文章
- 部门名称部门结构叠用_DYT|部门名称创意设计比赛,你pick哪一个?
- Cocos2dx-如何利用NDK分析崩溃日志
- C/C++ _strlwr_s 函数 – 字符串大写转小写- C语言零基础入门教程
- nginx重启、关闭
- ​芯片大神,英特尔、AMD、特斯拉前首席芯片架构师 Jim Keller 加盟 AI 初创公司...
- 《JQuery 能干点啥~》第7讲 层级选择器_2
- Lesson 2 Gradient Desent
- java算术表达式求值-中缀表达式转后缀表达式
- java Relative Path and absolute
- 2021创新创业基础(李家华)100分期末考试答案
- 度度熊的午饭时光[2017百度之星资格赛 1004]
- 中柏平板bios对照表_BIOS详解及中英文对照表
- Undefined function or variable. The first assignment to a local variable determin its class.
- 饭饭科普46 — 为什么出现区块链
- UVM糖果爱好者教程 - 31.provides_responses?
- LDAP简介及Java、客户端连接
- 各航空公司的网址和电话
- 如何把一组计算机做成云,怎样才能把旧电脑变成云电脑呢?
- AOE图,最早活动时间最晚活动时间,关键路径关键节点
- 爬了链家二手房数据来告诉你深圳房价到底多恐怖!