[PyTorch]中的随机mask以及根据句子的长度进行mask

  • new_empty是获取一个同样device和同样dtypetensorbernoulli_(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_masktensor.lt letter than所有小于的是true

推荐阅读更多精彩内容

  • 翻译 | 林椿眄 出品 | AI 科技大本营(公众号ID:rgznai100) 这次版本的主要更新一些性能的优化,...
    AI科技大本营阅读 5,045评论 0 1
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 868评论 0 1
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 4,572评论 0 7
  • tensorflow开发API 架构 Modules app module: Generic entry poin...
    sennchi阅读 551评论 0 2
  • 虽然我在前面写到没有必要去阅读整个官方文档,但是在开发过程中发现,如果对整个文档特别是关于tensor的操作和函数...
    shaozi_ss阅读 33,753评论 0 51