pytorch
Tyyy`
这个作者很懒,什么都没留下…
展开
-
ViT中的attention可视化
ViT论文中使用的可视化attention的方法是Attention Rollout。这个方法来自与Quantifying Attention Flow in Transformers。Jacob Gildenblat写了个blog介绍了这个方法和实现。 另外一个方法来自于Transformer Interpretability Beyond Attention Visualization.效果图如下所示:...原创 2021-03-01 15:14:41 · 11153 阅读 · 1 评论 -
加载保存的bert模型时缺少“model.embeddings.position_ids”
重新新建了个环境,跑之前的代码的时候,出错了。使用transformers加载bert模型,(使用了subclass Berttokenizer,BertModel来加载模型),添加了其他层,fintune之后,使用torch.save保存,之后使用torch.load加载,报错,缺少model.embeddings.position_ids。最直接的解决方案,回退transformers版本。我回退到了下之前能够正常加载的版本(2.6),或者是使用 BertPreTrainedModel。...原创 2020-09-16 20:09:22 · 3431 阅读 · 2 评论 -
BERT词向量-batch提取
代码来源于网址,做了一点小修改,添加了一点注释。一开始model_path设置为‘bert-base-uncased’,网络模型,字典都会下载在cache/torch/transformer中,之后save保存之后,就可将model_path设置为保存的位置。主要由于标注没有使用wordpiece,因此词由分词之后第一个词的词向量表示。batch从长到短排列,是为了方便之后的rnn结构。impo...原创 2020-05-06 20:28:32 · 1115 阅读 · 0 评论 -
pytorch之我的沙比错误
矩阵赋值描述: 有batch维度的矩阵赋值思路: 先生成需要的全零矩阵,由于我这每个batch里的值都一样,因此就在第零维全部选择,第一维选择具体的位置,第二维选择区间。y = torch.zeros(2, 2, 4)c = torch.zeros(2, 2, 4)for i in range(2): y[0][i][2*i:2*i+2] = 1. y[1][i][2*i...原创 2020-03-18 16:50:32 · 155 阅读 · 0 评论 -
pytorch 1.1 零维tensor的乘法问题
今天在写代码的时候,将0维的tensor改为了数,发觉loss误差很大,写了个test试了下问题出现在什么地方,记录一哈。零维张量的问题如果其中一个数已经是整形了,那么会出现与高维不同的情况import torcha = torch.tensor(250)b = torch.tensor(1.5)c = 1.5print(a*b)# tensor(375.)print(a*c)...原创 2019-09-05 11:06:34 · 1509 阅读 · 0 评论