自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 XLNet模型详解

这两天在网上找了很多博客资料看,有些博文写的很好,但总感觉还是漏了一点东西,让我一直有些地方搞不懂,最终还是看了原论文(偷懒不行啊。。。)。这里就记录一下我的理解,肯定还是有不全的地方,仅供参考。先附上原论文:https://paperswithcode.com/method/xlnetpytorch版本代码:https://github.com/huggingface/transformers/blob/master/src/transformers/models/xlnetXLNet提出的目的就是

2021-11-15 11:03:51 2997 2

原创 ELMo模型解读

最近学习了2018年的模型ELMo:Deep contextualized word representations,这里作一下笔记和我个人的理解原论文链接:https://paperswithcode.com/method/elmo在介绍ELMo之前顺便回顾一下RNN和LSTM,刚好也做个总结笔记RNN和LSTMRNNRNN就是循环神经网络,下面一张图就很清晰了。当前时刻的输出状态ht依赖于上一时刻的输出状态ht-1和当前时刻的输入xt,具体的公式如下:ht=tanh(W[ht-1,xt]+

2021-11-10 10:44:01 1942

原创 BERT模型解读

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding2019年goole AI发表的文章,附上原文:https://paperswithcode.com/method/bertpytorch版本代码:https://github.com/huggingface/transformers/tree/master/src/transformers/models/bertBERT名字由来: Bidir

2021-11-04 14:17:48 1433

原创 模型训练时gpu内存不足的解决办法

最近在训练微调bert预训练模型的时候,gpu内存老是不足,跑不了一个epoch就爆掉了,在网上来来回回找了很多资料,这里把一些方法总结一下:半精度训练半精度float16比单精度float32占用内存小,计算更快,但是半精度也有不好的地方,它的舍入误差更大,而且在训练的时候有时候会出现nan的情况(我自己训练的时候也遇到过,解决方法可以参考我的另一篇博客)。模型在gpu上训练,模型和输入数据都要.cuda()一下,转成半精度直接input.half()和model.half() 就行了。另外,还有

2021-11-04 11:13:17 15681 3

原创 pytorch半精度训练时出现nan的情况

最近在训练bert模型的时候,因为gpu内存不足,就想着用半精度训练的方式来降低内存占用,加速训练,但是训练几百个batch之后,就出现模型输出为nan的情况,但是之前用单精度float32训练的时候就没出现过这个问题。一点点去查看之后,发现是在某个batch更新之后,模型embedding层的权重参数变成了nan,在网上查了一些资料之后终于解决这个问题了,这里记录一下:1.由于我的优化器使用的是adam算法,在用半精度训练的时候需要torch.optim.Adam中加入参数eps=1e-3,否则就有可

2021-11-04 09:20:13 2371 2

原创 Transformer模型解读

Transformer:Attention is all you need ,谷歌2017年针对机器翻译推出来的模型,是后面GPT、BERT等发展的基础模型。附上原论文:https://paperswithcode.com/paper/attention-is-all-you-need?Transformer提出了一种全新的NLP模型架构,模型的全部重点都在于attention机制,完全不同于以往的RNN和CNN。先上模型结构图,接下来就根据这张图进行一点点的解析。Transformer模型由两部分组

2021-11-02 11:10:54 1269

原创 GPT系列模型详解

最近看了GPT系列模型,这里特此做一下学习记录和个人思考,先附上三个模型的论文:GPT:https://paperswithcode.com/method/gptGPT2:https://paperswithcode.com/method/gpt-2GPT3:https://paperswithcode.com/method/gpt-3下面逐一进行介绍:GPT一句话就是:预训练+微调作者指出:无标签的文本语料很丰富,但是针对特定任务的有标签文本数据很稀少,导致针对特定任务来训练一个准确的模型很

2021-10-28 17:51:05 10084 1

原创 问答系统QA的评价指标MAP、MRR、Accuracy@N

问答系统性能的评价指标MAP、MRR、Accuracy@NMAP(mean average precision)即平均准确率,系统对所有候选答案进行评分,并按分值大小进行排序,正确答案越靠前,MAP值就越大计算方式如下:参考:https://www.jianshu.com/p/e1664861bc9d比如共有三个问题,问题1有3个直接相关的答案,问题2有2个直接相关的答案,问题3有4个直接相关的答案。系统返回的答案中,问题1的3个答案的排序为1,3,5;问题2的2个答案的排序为2,3;问题3的4

2021-09-29 14:52:47 5346

原创 jieba分词自定义词典如何覆盖系统词典

参考:https://www.cnblogs.com/linkcxt/p/14696496.html这篇博文一步一步从jieba库的源代码介绍的很详细,这里我就说一下原理和最终的解决办法若用户自定义词典省略词频,则频度相对系统词典较低,可能无法正确分出结果比如:...

2021-09-28 10:51:17 533

原创 TANDA: Transfer and Adapt Pre-Trained Transformer Models for Answer Sentence Selection论文详解

TANDA: Transfer and Adapt Pre-Trained Transformer Models for Answer Sentence Selection论文地址:https://paperswithcode.com/paper/tanda-transfer-and-adapt-pre-trained这篇论文提出了一种预训练transformer模型的迁移和自适应的算法,并且提出了ASNQ数据集。1.介绍一般的迁移学习都是将预训练模型在目标问题数据集上进行一次微调即可,而这篇文章提

2021-09-28 09:59:27 341

原创 pytorch修改模型参数的方法

pytorch貌似不支持直接修改网络参数参考了知乎https://zhuanlan.zhihu.com/p/158876093和评论,自己测试了一下,有用的方法如下:(我这里是修改模型参数的数据类型)for p in model.parameters(): p.data=p.data.to(torch.float16)记录一下...

2021-09-02 10:24:29 3343

原创 pytorch中tensor的底层存储方式,维度变换permute/view/reshape,维度大小和数目

记录一下pytorch中tensor的底层存储方式,维度变换permute/view/reshape,维度大小和数目。tensor的底层存储方式tensor的底层存储是按照行优先的原则存储的,比如:>>import torch>>a=tensor.rand((2,2,3))>>atensor([[[0.1345,0.4907,0.8740], [0.4888,0.5481,0.8513]], [[0.1015,0.9427,0.8660], [

2021-05-13 10:21:58 999 2

原创 pytorch中维度不一致张量之间加减/逻辑运算问题

pytorch中维度不一致张量之间加减/逻辑运算问题最近在看一个程序的时候很迷惑pytorch中维度不一致的张量之间如何让做加减和逻辑运算,参考了一个大神的博文https://blog.csdn.net/bxdzyhx/article/details/110831005然后自己试了一下,特此记录一下以逻辑与&为例...

2021-05-10 15:07:19 4983

原创 python创建二维列表

python中创建二维列表时,要注意浅拷贝造成的影响。比如下面两种方式,本来想只改变a中的一个元素值,结果改变了一整列,因此在创建二维列表时不要用 *n 这种方式。解决方式使用for循环原创不易,转载请注明出处!...

2021-03-07 13:30:18 492

原创 python列表直接赋值、浅复制、深复制

对python列表复制的相关记录直接赋值 =a,b指向同一个列表浅复制只能深复制第一层,对于列表内部的嵌套列表还是指向同一个地址。[:]copy()深复制使用copy库的deepcopy()方法无论列表嵌套多少层,都是深复制原创不易,转载请注明出处!...

2021-03-07 12:44:41 145

原创 pycharm中编译环境创建

最近在用pycharm时对于新建项目时编译环境的创建很困惑,弄懂之后特此记录一下,不足之处欢迎留言新建项目这里项目编译器创建有两种选择:一种是创建新的编译环境new environment using一般做项目时选择Virtualenv,可以使新建的项目有单独的编译器。Location:是选择创建的编译环境的位置,默认是在项目所在文件夹下的venv文件夹中,不需更改。这个文件夹里会将你的Base interpreter指定的python编译器复制一遍放进去。Base interperter:是选

2021-03-06 21:42:23 1542

原创 Python中pandas数据写入excel时小数转为科学计数法的解决方法

Python中pandas数据写入excel时小数转为科学计数法的问题今天在将dataframe数据写入excel的时候,出现了较小的小数如0.0000567写入excel时变成了科学计数法5.67E-5,在网上找了很多方法最终解决这个问题。(感谢这位博主https://blog.csdn.net/cmzhuang/article/details/82897225的博客,让我找到了问题所在)在网上找的很多方法都是说先将数值转为字符串,再进行存储,但我在用np.astype(str)转换之后,还是有这个

2021-03-06 14:40:43 3788

原创 ResNet解读

ResNet是由2015年的论文:Deep Residual Learning for Image Recognition提出,现在在深度学习网络中应用越来越广泛。ResNet提出背景就是深层神经网络训练困难的问题,究其原因主要是因为梯度消失/爆炸,导致模型难以收敛,尽管batch normalization的使用可以使几十层的网络使用SGD算法训练收敛,但是更深的网络就没办法了。就算能收敛,也还是存在模型性能退化的问题,模型误差不降反升。为了解决这个问题,论文作者提出残差结构,让网络不去直接拟合目

2020-08-17 18:00:46 869

原创 目标检测中的AP计算

目标检测中的AP计算最近在学习目标检测,对模型评价指标AP的计算过程有点疑问,经过查找资料、问师兄,最终算是有了一个相对明确的了解,特此记录一下,方便以后查看,不足之处还请大家批评指正!AP(average precision)是目标检测论文中广泛使用的模型评价指标,VOC的AP计算方法在2010年的时候发生过一次更改,现在常用的是2010年之后更改的AP计算方法,该计算方法相比于之前也更为合理,本文的AP计算也是2010年之后的计算方法。官方的定义如下:(图片源自博客https://blog.cs

2020-08-15 11:52:37 20590 16

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除