[ DLPytorch ] 注意力机制&机器翻译

MachineTranslation

实现过程

rstrip():删除 string 字符串末尾的指定字符(默认为空格)。
语法:str.rstrip([chars])
参数:chars -- 指定删除的字符(默认为空格)
返回值:返回删除 string 字符串末尾的指定字符后生成的新字符串

str = "     HELLO WORLD     ";
print str.rstrip();
#"      HELLO WORLD"

torchtext.vocab.vocab:Defines a vocabulary object that will be used to numericalize a field.
语法:torchtext.vocab.Vocab(counter, max_size=None, min_freq=1, specials=[''], vectors=None, unk_init=None, vectors_cache=None, specials_first=True)
参数:-counter:collections.Counter对象,保存在数据中找到的每个值的频率。
-max_size:词汇表的最大大小,默认无
-specials:将除了一个令牌前置到词汇特殊标记(例如,填充或EOS)的列表。默认值:['']

torch.expand与expand_as的区别
c = a.expand(3,2):张量a的size变为和括号内相同。但是数据不共享,也就是说a没有变化,只是c的size为torch.tensor([3,2])。
c = a.expand_as(b):把张量a的size变为和b相同,数据同样不共享。

a = torch.zeros((2, 3, 8))
b = torch.ones((3, 8))
b = b.unsqueeze(dim=0).expand_as(a)  # shape torch.Size([2, 3, 8])
c = torch.cat((a, b), dim=2) # shape torch.Size([2, 3, 16])
原文地址:https://www.cnblogs.com/recoverableTi/p/12327672.html