logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

pytorch分布式训练,支持单机多卡,多机多卡

参考:https://zhuanlan.zhihu.com/p/373395654本人手撸简单的GitHub项目地址:https://github.com/Lisennlp/distributed_train_pytorch

#自然语言处理#pytorch
pytorch 模型训练时多卡负载不均衡(GPU的0卡显存过高)解决办法(简单有效)

本文主要解决pytorch在进行模型训练时出现GPU的0卡占用显存比其他卡要多的问题。如下图所示:本机GPU卡为TITAN RTX,显存24220M,batch_size = 9,用了三张卡。第0卡显存占用24207M,这时仅仅是刚开始运行,数据只是少量的移到显卡上,如果数据在多点,0卡的显存肯定撑爆。出现0卡显存更高的原因:网络在反向传播的时候,计算loss的梯度默认都在0卡上计算。因此会比其他

#神经网络#深度学习
numpy, tensor cpu和tensor gpu运算时间比较

import timeimport torchfrom functools import wrapsdef timethis(func):@wraps(func)def wrapper(*args, **kwargs):start = time.perf_counter()r = func(*args, **kwargs)end = time.perf_counter()print('{}.{}

#pytorch
pytorch, numpy利用另一个数组的索引进行重排序,如torch.gather.......

import torchtorch.manual_seed(1)logits = torch.rand(3, 10)label_ids = torch.rand(3, 10)print(logits)print(label_ids)sorted_logits, indices = logits.sort(dim=1)new_label_ids = label_ids.gather(...

#pytorch#机器学习#numpy
语言模型评价指标 bpc(bits-per-character)和困惑度ppl(perplexity)

困惑度ppl(perplexity)ppl是用在自然语言处理领域(NLP)中,衡量语言模型好坏的指标。它主要是根据每个词来估计一句话出现的概率,并用句子长度作normalize,公式为:S – 当前句子;N – 句子长度;p(wi) – 第i个词的概率p(wi|w1w2w3…wi-1) – 这个表示基于前i-1个词,计算得出第i个词的概率,但有的语言模型是可以利用双向的,不知道是不是会...

#nlp
pytorch 模型训练时多卡负载不均衡(GPU的0卡显存过高)解决办法(简单有效)

本文主要解决pytorch在进行模型训练时出现GPU的0卡占用显存比其他卡要多的问题。如下图所示:本机GPU卡为TITAN RTX,显存24220M,batch_size = 9,用了三张卡。第0卡显存占用24207M,这时仅仅是刚开始运行,数据只是少量的移到显卡上,如果数据在多点,0卡的显存肯定撑爆。出现0卡显存更高的原因:网络在反向传播的时候,计算loss的梯度默认都在0卡上计算。因此会比其他

#神经网络#深度学习
pytorch,numpy根据权重取值 -- np.random.multinomial,np.random.choice和torch.multinomial函数

np.random.multinomial(n, pvals, size=None) -> 取到的次数分布数组该函数表示根据一个概率数组,取若干次,得到一个次数分布数组参数说明:–n : 从矩阵中取值次数;–pvals:根据概率取值,这是一个数组,并且所有数据之和为1;–size:输出的维度,默认为1,即1 x pvals例子:a = np.random.rand(6)p...

#numpy#nlp
如何将多个jupyter的.ipynb文件合并为一个?

方法一:直接复制jupyter单元格选中需要合并的部分单元格,ctrl+c,直接粘贴至另外的jupyter窗口中即可方法二:借助nbmerge工具包安装:pip install nbmerge然后执行:nbmerge a.ipynb b.ipynb c.ipynb > merge.ipynb合并的个数不限,但至少2个。...

#jupyter
pandas赋值失败问题解决

pandas对整列赋值这个比较正常,一般直接赋值就可以:x = pd.DataFrame({'A': ['1', '2', '3', None, None],'B': ['4', '5', '6', '7', None]})x['A'] = ['10', '11', '12', '13', '14']pandas对非整列赋值1、用单个值赋值x = pd.DataFrame({'A': ['1',

#pandas
bert在预训练时的两个下游任务详解

一直很困惑bert在经过transformer的encoder之后的两个任务是怎么做的。比如:这两个任务的loss函数是什么?拿到encoder输出做了什么?很多人都是这么回答的:bert的loss就是下一句预测的分类loss和mask词的预测loss拿encoder输出直接算loss啊如果你继续问:那他们的loss都分别怎么算的?相信很多人都讲不出来。下面就详细在这阐...

#nlp#人工智能#深度学习
    共 27 条
  • 1
  • 2
  • 3
  • 请选择