![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch
扣德夫特
这个作者很懒,什么都没留下…
展开
-
transformers BERT等模型在自己的数据集上fine-tune方法
IntroBERT等预训练语言模型能力很强,但官方发布的模型在预训练时用的语料并不一定与你具体任务的语料相似,因此可能造成具体任务上的效果一般。这时候,将预训练语言模型在你自己的语料上再次fine-tune(Masked Language Model等任务),能够进一步提升效果。本文将介绍fine-tune的基本方法。本文针对PyTorch的库transformers的模型。方法Transformers官方很贴心的提供了代码,只要运行就行了。代码和说明在这里(https://github.com/h原创 2020-12-27 20:17:22 · 2088 阅读 · 2 评论 -
多头注意力机制(Multi-head Attention)及其在PyTorch中的使用方法分析
内容目录简介多头注意力机制注意力机制到底在干什么PyTorch中怎么用API简介多头注意力(Multi-Head Attention)机制是当前大行其道的Transformer、BERT等模型中核心的组件,但我一直没懂其内部到底是怎么做的,PyTorch提供的接口的众多参数也弄不清怎么用。今天抽个时间,结合论文和PyTorch源码,深入学习一下到底是怎么回事。仅为个人理解,如有错误敬请指出!多头注意力机制Multi-Head Attention可以表示为:MultiHeadAttention(Q原创 2020-11-30 21:59:28 · 29068 阅读 · 1 评论 -
PyTorch Tensor对Tensor索引(Index wrt Tensor)
简介模型越编越复杂,有时候就会涉及到一些PyTorch里面没有的Tensor操作,这时候就得自己写。最近需要实现Tensor对Tensor的索引,即对于一个Tensor中的每个元素,返回它在另一个Tensor中的位置,例子如下:> inp = torch.LongTensor([5, 3, 6, 9])> index = torch.LongTensor([2, 3, 4, 6, 8, 5, 7, 9])> out = tensor_index(inp, index)>原创 2020-11-28 19:26:34 · 902 阅读 · 0 评论 -
Pytorch DataLoader 变长数据处理方法
关于Pytorch中怎么自定义Dataset数据集类、怎样使用DataLoader迭代加载数据,这篇官方文档已经说得很清楚了,这里就不在赘述。现在的问题:有的时候,特别对于NLP任务来说,输入的数据可能不是定长的,比如多个句子的长度一般不会一致,这时候使用DataLoader加载数据时,不定长的句子会被胡乱切分,这肯定是不行的。解决方法是重写DataLoader的collate_fn,具体方法如...原创 2019-03-28 16:51:34 · 4683 阅读 · 3 评论