-
new_empty
是获取一个同样device
和同样dtype
的tensor
,bernoulli_(p)
是根据概率p
产生0,1
序列(p是0)
,expand_as
扩展到同一维度。
def drop_tokens(embeddings, word_dropout):
batch, length, size = embeddings.size()
mask = embeddings.new_empty(batch, length)
mask = mask.bernoulli_(1 - word_dropout)
embeddings = embeddings * mask.unsqueeze(-1).expand_as(embeddings).float()
return embeddings, mask
-
sequence_mask
,tensor.lt
letter than
所有小于的是true
。