美文网首页
2021-10-12-torch.nn.Embedding

2021-10-12-torch.nn.Embedding

作者: 野山羊骑士 | 来源:发表于2021-10-12 15:09 被阅读0次

    From
    https://www.jianshu.com/p/63e7acc5e890
    https://zhuanlan.zhihu.com/p/345450458

    关于torch.nn.Embedding的理解,经常用到的参数(num_embeddings, embedding_dim)

    torch.nn.Embedding(numembeddings,embeddingdim)的意思是创建一个词嵌入模型,numembeddings代表一共有多少个词, embedding_dim代表你想要为每个词创建一个多少维的向量来表示它,如下面的例子。

    import torch
    from torch import nn
    
    embedding = nn.Embedding(5, 4) # 假定字典中只有5个词,词向量维度为4
    word = [[1, 2, 3],
            [2, 3, 4]] # 每个数字代表一个词,例如 {'!':0,'how':1, 'are':2, 'you':3,  'ok':4}
                       #而且这些数字的范围只能在0~4之间,因为上面定义了只有5个词
    embed = embedding(torch.LongTensor(word))
    print(embed) 
    print(embed.size())
    
    tensor([[[-0.4093, -1.0110,  0.6731,  0.0790],
             [-0.6557, -0.9846, -0.1647,  2.2633],
             [-0.5706, -1.1936, -0.2704,  0.0708]],
    
            [[-0.6557, -0.9846, -0.1647,  2.2633],
             [-0.5706, -1.1936, -0.2704,  0.0708],
             [ 0.2242, -0.5989,  0.4237,  2.2405]]], grad_fn=<EmbeddingBackward>)
    torch.Size([2, 3, 4])
    

    相关文章

      网友评论

          本文标题:2021-10-12-torch.nn.Embedding

          本文链接:https://www.haomeiwen.com/subject/usndoltx.html